如何addClass到它的相等索引.....(JQUERY)

时间:2011-01-25 09:04:13

标签: jquery indexing

<ul>
   <li>Index 0</li>
   <li>Index 1</li>
   <li>Index 2</li>
</ul>
<div>
     <a>Index 0</a>
     <a>Index 1 (If i click this this this i want to addClass to it to LI with the same index of this )</a>
     <a>Index 2</a>
</div>

3 个答案:

答案 0 :(得分:8)

您可以为此目的调用jQuerys .index() help 方法。它返回相对于当前节点的兄弟节点的索引。要查找具有相应索引的li node,请使用.eq() help

$('a').click(function() {
   $('ul li').eq($(this).index()).addClass('your_new_class');
});

演示http://www.jsfiddle.net/2rFn3/

参考您的评论

$('a').click(function() {
   $('ul li').eq($(this).index()).addClass('your_new_class').siblings().removeClass('your_new_class');
});

演示http://www.jsfiddle.net/2rFn3/1/

答案 1 :(得分:4)

$("a").click(function() {
   //Remove classes from other li (per comment)
    $("ul li").removeClass("class");

   //Now update the clicked item
   var length = $(this).prevAll().length;
   $("ul li:eq(" + length + ")").addClass("class");
});

答案 2 :(得分:0)

首先,你可以在div和li上添加一个id,以便更容易选择。

div#start and ul#target

$("div#start > a").bind("click dblclick",function(){
    $("ul#target:nth-child("+$(this).index()+")").addClass("whatever");    
});