0

我有以下html:

<input type="text" id="entry1" value="1" />
<input type="text" id="entry2" value="2" />
<input type="text" id="entry3" value="3" />
<input type="text" id="entry4" value="4" />
<input type="text" id="entry5" value="5" />
<input type="text" id="entry6" value="6" />
<input type="text" id="entry7" value="7" />

<input type="button" id="test" value="Test 1" />

..
$('#test').click(function () {
  var entrys = $(':text[id != "entry5"]').nextAll(':text');
});

我希望它只返回entry6,entry7。但我得到的基本上是所有的文本输入字段。我究竟做错了什么?还是我使用nextAll()不当?我以 entry5 为例,但我想做的是仅在某个输入文本 id 之后获取字段。因此,如果我将其设置为 entry6,则只返回 entry7。

4

2 回答 2

1

您可以使用id选择器,因为您有输入字段的 id。你的问题是你使用!=而不是=.

在这种情况下,您不必使用属性选择器,因为您使用id的是属性,您有一个内置的id选择器。

$('#test').click(function () {
    var entrys = $('#entry5').nextAll(':text');
});

演示:小提琴

于 2013-04-24T16:31:12.977 回答
0

您打算使用=而不是!=

var entrys = $('input:text[id="entry5"]').nextAll('input:text');

但是,在这种情况下, Arun 的解决方案更简单、更合适。

于 2013-04-24T16:29:31.777 回答