2012-02-15 60 views
0

我有一些標記,像這樣:jquery select - 如何更高效?

<div id="mydiv"> 
<span></span> 
<ul> 
<li>1</li> 
<li>2 <a xyz="something"></a></li> 
</ul> 
</div> 

我想click事件綁定到<A>標籤,就像這樣:

$("#mydiv A").click(this.function(){}); 

它可以更好?謝謝!

+1

我相信這是一樣好,除非你想''#mydiv A「'''a [xyz ='something']」'' – 2012-02-15 22:59:00

+0

''這是一個完全可以接受的方式來做到這一點。你有沒有具體的想法? – Calvin 2012-02-15 22:59:28

+1

可以更好嗎?選擇它就像那樣很好...... – Evan 2012-02-15 22:59:40

回答

1

當然分配id<a>

<a id="mylink" xyz="something"></a> 

$("#mylink").click(this.function(){}); 
+0

在你的dom中會有太多的id,會被認爲是維護/可讀性差嗎? – River 2012-02-15 23:10:42

0

我會給<a>標籤的ID,然後附加一個點擊監聽,這樣的:

$("#id_of_a_element").click(function() { 

    alert("yep you clicked it"); 

}); 

這會給你下的更高的精確度另一方面,你的方法應該工作。

+1

這真的取決於應用程序。 ID可能會很昂貴 – 2012-02-15 23:00:29

+1

任何可以支持它的文檔?這下面的文檔說,選擇器的數量越低,它會發現它越快:http://hungred.com/useful-information/jquery-optimization-tips-and-tricks/ – 2012-02-15 23:08:58

0

工作原理..你可以爲標籤定義一個ID並直接選擇它 - 這是最快的選擇方法。

0

如果您需要選擇特定的元素,則通過id直接選擇它總是更快。例如:

<a id="myAnchor" xyn="something"></a>

$(#myAnchor).click(function() { alert('sup stallion');});

然而,如果你想將所有錨標籤下#mydiv分配爲click事件,然後你的做法是好的。