我有一些里面的李。所有li都有一个id“#category”但不同的类(如“.tools”,“。mil”,“。apple”)。
使用jQuery。我这样做:
$("li#category").click(function(){ some_other_thing ( .... )});
现在我必须在some_other_thing()函数中放入一个li的类“name” - (确实是一个字符串)而不是....
怎么做?
答案 0 :(得分:8)
$(this).attr('class')
答案 1 :(得分:4)
ID必须在文档中是唯一的,因此拥有标识为<li>
的多个"category"
元素无效。将其更改为类或数据属性或其他内容。或者只是将一个类分配给父<ul>
,这样您就可以轻松地检索其中的所有li。
<ul id="categories">
<li class="tools">
<li class="milk">
</ul>
获取所有li,然后分配点击处理程序。
$('#categories li').click(function() {
var className = $(this).attr('class');
some_other_thing(className);
});
答案 2 :(得分:3)
请注意id
必须是唯一的!您建议每个li
元素具有相同的id
。您可能希望将其替换为class
,例如:
<ul>
<li class="category tools" />
<li class="category milk" />
</ul>
然后选择:
$('li.category').click(function(){});
答案 3 :(得分:0)
如果我理解正确,问题是您不能拥有多个具有相同ID的li。每页只能有一个唯一的ID。您可能想要的是将ID更改为类。所以你有这些方面的东西。
<ul>
<li class="category milK">Chocolate</li>
<li class="category tool">Big Hammer</li>
</ul>
然后您可以使用$("li.category").click(function() {....});
答案 4 :(得分:0)
您的li元素需要具有唯一ID。完成后,您可以使用“&gt;”选择ul的所有li子项操作者:
var ul_elem = $("#id_of_ul");
$("> li", ul_elem).click(...);
OR
$("#id_of_ul > li").click(...);
OR
$("ul.classname > li").click(...);