看这里的例子 - http://jsfiddle.net/uqYeQ/3/
第一行的行为符合预期,返回其父级中 div 的索引。
我希望第二行的行为方式相同,我希望它返回 0 到 4 之间,具体取决于单击了哪个 div。我想知道已单击的 div 与其父列表项相关的索引。
我根本无法更改 html。
看这里的例子 - http://jsfiddle.net/uqYeQ/3/
第一行的行为符合预期,返回其父级中 div 的索引。
我希望第二行的行为方式相同,我希望它返回 0 到 4 之间,具体取决于单击了哪个 div。我想知道已单击的 div 与其父列表项相关的索引。
我根本无法更改 html。
试一试(小提琴)
$("li > .myclass, li > .container").click(function(e){
$("#result").html($(this).index());
});
</p>
这对我有用(小提琴)
$('.myclass').click(function(){
var theIndex = $(this).index();
$('#result').html(theIndex);
})
$('.container').click(function(){
var theIndex = $(this).index();
$('#result').html(theIndex);
})
但反理智更性感。
以下是一种方法
$('.myclass').click(function() {
var liElem = $(this).parents('li')[0]; // get li element who is a parent of the clicked element
var elems = $(this).parents();
elems.push($(this)); //array contains all parents of the clicked element and the clicked element
$(elems).each(function(key, elem) {
if ($(elem).parent()[0] == $(liElem)[0]) {
$('#result').html($(elem).index());
}
});
})