jQuery,找到li类名(在ul里面)

时间:2010-08-30 22:24:11

标签: javascript jquery

我有一些里面的李。所有li都有一个id“#category”但不同的类(如“.tools”,“。mil”,“。apple”)。

使用jQuery。我这样做:

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

现在我必须在some_other_thing()函数中放入一个li的类“name” - (确实是一个字符串)而不是....

怎么做?

5 个答案:

答案 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(...);