0

我正在尝试像这样索引文档中的所有内容:

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

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

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

问题是我想从删除函数中排除某个元素。这个元素有一个数字作为文本,如下所示:

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

所以 remove 函数不应该从liwith中删除文本id="2",根据它的index(2). 我该怎么做呢?这就是我到目前为止所拥有的:JsFiddle

4

3 回答 3

1

将其用作“非”元素的选择器...

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

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

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

我强烈建议使用 ID 来识别跨度,因为如果页面上有任何其他跨度,这显然会中断:)

于 2013-04-20T12:58:58.543 回答
0

您可以使用选择器将其排除:

$('body *').not("li#2").contents().filter(function() {
  return this.nodeType == 3;
}).remove();
于 2013-04-20T12:51:00.210 回答
0

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

于 2013-04-20T12:51:44.923 回答