2010-08-30 82 views
6

我有ul裏面的數量。所有li都有一個id「#category」,但有不同的類(如「.tools」,「.milk」,「.apple」)。jQuery,找到li類的名字(裏面ul)

使用jQuery。我做的:

$("li#category").click(function(){ some_other_thing (....)}); 

現在我必須把李的類「名」 - (字符串確實)的some_other_thing(內部)函數,而不是....

如何可以做到?

回答

3

請注意,id必須是唯一的!您建議每個li元素具有相同的id。你可能想用class來取代它,例如:

<ul> 
    <li class="category tools" /> 
    <li class="category milk" /> 
</ul> 

然後選擇:

$('li.category').click(function(){}); 
0

如果我理解這個正確的,問題是,你不能有多個李時珍用相同的ID。每頁只能有一個唯一的ID。你可能想要的是將ID更改爲類。所以你會有這方面的東西。
<ul>
<li class="category milK">Chocolate</li>
<li class="category tool">Big Hammer</li>
</ul>

然後你就可以用$("li.category").click(function() {....});

4

ID的搜索必須是唯一的一個文件中,所以有id爲"category"無效多個<li>元素。將其更改爲類或數據屬性或其他內容。或者只是給父母<ul>分配一個班級,這樣你就可以很容易地檢索到裏面的所有班級。

<ul id="categories"> 
    <li class="tools"> 
    <li class="milk"> 
</ul> 

獲取所有li,並分配點擊處理程序。

$('#categories li').click(function() { 
    var className = $(this).attr('class'); 
    some_other_thing(className); 
}); 
1

您的li元素需要具有唯一的ID。一旦他們這樣做,你可以選擇UL的所有li子與 「>」 運營商:

var ul_elem = $("#id_of_ul"); 
$("> li", ul_elem).click(...); 

OR

$("#id_of_ul > li").click(...); 

OR

$("ul.classname > li").click(...);