<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>
Вы можете вызвать jQuerys .index() help метод для этой цели.Возвращает индекс относительно братьев и сестер текущего узла.Чтобы найти li node с соответствующим индексом, используйте .eq() help
.index()
li node
.eq()
$('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/
$("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"); });
Во-первых, вы можете добавить идентификатор в div и li, чтобы его было легче выбрать.
div#start and ul#target $("div#start > a").bind("click dblclick",function(){ $("ul#target:nth-child("+$(this).index()+")").addClass("whatever"); });