2013-04-20 77 views
0

我想所有内容建立索引文件是这样的:指数都排除某些DIV

var index = $('body *').index(this); 

所以现在我想从所有项目中删除文字:

$('body *').contents().filter(function() { 
    return this.nodeType == 3; 
}).remove(); 

的问题是我想从remove函数中排除某个元素。这个元素有一些文字是这样的:

<li id="2">2</li> 

所以remove函数不应该liid="2"删除文本,根据其index(2)。我该怎么做呢?这是我到目前为止有:JsFiddle

回答

1

以此作为选择为“不”的元素。 ..

var qw = $('li:eq(' + $("span").text() + ')'); 

看到这个更新的小提琴......

http://jsfiddle.net/p83Rg/7/

我会强烈建议使用ID来识别,虽然跨度,因为如果在页面上的任何其他跨度:)

+0

嗨,林没有寻找解决方法...我需要通过其索引2(从零开始索引) – Youss 2013-04-20 13:00:52

+0

这不是一个解决方法。我想我根本不明白你的问题。 – Archer 2013-04-20 13:01:23

+0

我的问题是有点困惑,我现在意识到..看看这个小提琴http://jsfiddle.net/p83Rg/6/我已经把第二个跨度内。现在我想通过索引来保存列表项。索引值为0,1,2所以我需要通过span(变量)中的文本来保存。在这种情况下,它是第二。 (希望我现在明确..) – Youss 2013-04-20 13:04:31

0

你可以有选排除:

$('body *').not("li#2").contents().filter(function() { 
    return this.nodeType == 3; 
}).remove(); 
+0

我想用#文本排除这显然打破2(这是索引号码) – Youss 2013-04-20 12:52:34

0

.remove()前插入.not('#2')

+0

我正在寻找一种方法来排除它的索引,其中#2的文字给出 – Youss 2013-04-20 12:53:34