2013-01-05 77 views
3

假設我有確定使用jQuery單擊了哪個元素id或類?

<body> 
<div id="stuff"> 
    <div id="cat">a</div> 
    <div id="dog">b</div> 
    <div id="elephant">c</div> 
    <div id="rabbit">d</div> 
    <div id="frog">e</div> 
</div> 
</body>​ 

到目前爲止,當我想要一個能打印出div的內容文字DIV ID像「貓」或衣櫃裏我能得到與JS,

document.getElement('body').onclick = function(e){ 
    alert(e.target.innerHTML); 
}​ 

'狗'不是'a'或'b'。此外,我正在嘗試使用jQuery完成此操作,我是否正朝着正確的方向前進?

回答

5

您需要包含jQuery js文件才能使用jQuery方法。使用JQuery

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery demo</title> 
</head> 
<body> 
    <a href="http://jquery.com/">jQuery</a> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
    document.getElement('body').onclick = function(e){ 
     alert(e.target.innerHTML); 
     alert(e.target.id) 
    }​ 
    </script> 
</body> 
</html> 
0

使用jQuery

$('body').click(function(e){ 
    alert(e.target.innerHTML); 
    alert(e.target.id) 
    alert($(e.target).attr('id')); 
}​); 

用JavaScript

document.getElement('body').onclick = function(e){ 
    alert(e.target.innerHTML); 
    alert(e.target.id) 
}​ 

樣本HTML頁面,我建議在jQuery.on()讀了。

在你的榜樣,我建議:

$("body").on("click", function(event){ 
    alert($(this).id); 
}); 

雖然強烈建議,以減少範圍是什麼元素,你要尋找的單擊事件。例如:

$("#stuff").on("click", "div", function(event){ 
    alert($(this).id); 
}); 

哪個只處理html標籤內的任何div元素,其id爲stuff。減少處理事件的上下文可以幫助解決封裝和調試問題。

1

如果您使用純粹javascript您可能需要使其跨瀏覽器兼容。

window.onload=function(){ 
    document.getElementsByTagName('body')[0].onclick = function(e){ 
     e = e ? e : window.event; 
     var source = e.target || e.srcElement; 
     alert(source.id); 
    } 
} 
+0

剛剛回來給你一個單挑。很好的答案。 '+' –

+0

@roXon謝謝:) – prageeth

2

http://jsbin.com/ohotuv/1/edit

document.getElementById('stuff').onclick = function(e){ 
    alert(e.target.id); 
}; 

JQ方式:

$('#stuff').click(function(e){ 
    alert(e.target.id); 
}); 

如果還沒有一個ID,但有一個CLASS(!而且你需要它),你可以做:

http://jsbin.com/ohotuv/3/edit - (其中「大象」是一類)

$('#stuff').click(function(e){ 
    var name = e.target.id || e.target.className; 
    alert(name); 
}); 
相關問題