1

嗨,我正在使用 twitter 引导程序在 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>

现在我首先给出了 idLI但动态地我将把 id 给LI.

如何找到LI没有id的索引?如果第二个没有 id,它应该只找到那个 LI 的索引,而不应该检查剩余的LI我怎么能得到那个?

4

5 回答 5

0
$('ul li').each(function(index){

            $(this).addClass('index-'+index);

        });

Example here:

http://jsfiddle.net/superbshivam/HqpSF/

于 2013-04-15T10:01:01.083 回答
0

尝试使用:not .first().index()

var idx = $('li:not([id])').first().index();
console.log(idx);

演示

这将为您提供没有 id 的第一个 li 的索引。

于 2013-04-15T10:03:37.640 回答
0

您可能正在寻找Siblings()。您还可以获得对Parent()的引用并从那里开始。

于 2013-04-15T09:58:21.453 回答
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;
        }
    });
}

工作jsfiddle示例

于 2013-04-15T10:07:43.450 回答
0

jQuery 有一个功能:

$('li').on('click',function(){
    alert($(this).index());
});

注意:.index()返回一个从零开始的索引。

是一个工作的jsfiddle

要仅针对没有 id 的 li,请使用:not()选择器和[id]属性选择器:

$('li:not([id])').on('click',function(){
    alert($(this).index());
});

更新了 jsFiddle

来源

jQuery API - .index()

于 2013-04-15T09:59:16.870 回答