как добавить Class к его равному индексу ..... (JQUERY) - PullRequest
4 голосов
/ 25 января 2011
<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 ]

8 голосов
/ 25 января 2011

Вы можете вызвать 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/

4 голосов
/ 25 января 2011
$("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");
});
0 голосов
/ 25 января 2011

Во-первых, вы можете добавить идентификатор в div и li, чтобы его было легче выбрать.

div#start and ul#target

$("div#start > a").bind("click dblclick",function(){
    $("ul#target:nth-child("+$(this).index()+")").addClass("whatever");    
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...