您好我正在使用twitter bootstrap在JSP中创建标签。
<ul>
<li id="first"><a href="#datacollector" target="main"data-toggle="tab">General</a></li>
<li><a href="#dataTab" data-toggle="tab">Transport</a></li>
<li><a href="#datamap" data-toggle="tab">Data Map</a></li>
<li><a href="#schedule" data-toggle="tab">Schedule</a></li>
</ul>
现在我已为第一个LI
提供了ID,但动态地我会将{id} LI
提供给我。
如何找到没有id的LI
索引?如果第二个没有id,它应该只找到那个LI的索引,不应该检查剩余的LI
我怎么能得到它?
答案 0 :(得分:0)
您可能正在寻找Siblings()。您还可以获得Parent()的引用并从那里开始。
答案 1 :(得分:0)
jQuery有一个功能:
$('li').on('click',function(){
alert($(this).index());
});
注意:.index()
返回从零开始的索引。
Here是一个有效的jsfiddle
要仅定位没有ID的li,请使用:not()
选择器和[id]
属性选择器:
$('li:not([id])').on('click',function(){
alert($(this).index());
});
<强>来源(S)强>
答案 2 :(得分:0)
$('ul li').each(function(index){
$(this).addClass('index-'+index);
});
此处示例:
答案 3 :(得分:0)
尝试使用:not .first()
和.index()
:
var idx = $('li:not([id])').first().index();
console.log(idx);
这将为您提供没有id的第一个li的索引。
答案 4 :(得分:0)
非常快速和肮脏的方法,但它应该让你开始你需要的东西。
var indexWithoutId = -1;
$(document).ready(function() {
findIndexWithoutId();
console.log("without id: " + indexWithoutId);
});
function findIndexWithoutId() {
$("li").each(function() {
var index = $(this).index();
var id = $(this).attr("id");
if (typeof(id) === "undefined") {
indexWithoutId = index;
return false;
}
});
}