2014-03-25 65 views
0
<script type="text/javascript"> 
    $(function(){ 
    $('#example')[0].onmouseover = function(event) { 
    alert("something"); 
    }; 
    }); 
</script> 

使用jQuery選擇DOM

<body> 
<img id="example" src="example.jpg" " alt="ooooh! ahhhh!"/> 
</body 

爲什麼我們需要[0]背後例如ID?

如果我們刪除[0],爲什麼它不工作?

回答

3

既然你調用本地onmouseover你需要參考本地DOM元素

$('#example')[0] // gives native DOM Element. 

$('#example')[0].onmouseover=function(){}; //native event handling 

如果刪除[0]然後你指的jQuery對象。所以,你需要使用事件處理

$('#example') //gives jQuery object 
$('#example').mouseover(function(){}); //jQuery event handling 
0

的jQuery的方式嘗試

$(document).on("mouseover","#example",function(event) { 
alert("something"); 
}; 
0

.onmouseover是一個JavaScript事件處理程序,只適用於DOM元素。由於$('#example')是一個jQuery對象,因此onmouseover根本不會做任何事情(甚至不會產生錯誤)。但是,每個jQuery對象也僞裝成一個數組,所以我們可以使用數組解引用操作符通過$('#example')[0]獲取底層元素,該元素返回onmouseover(以及任何其他本地JavaScript事件處理程序)可以使用的元素。