我有以下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。
答案 0 :(得分:1)
您可以使用id
选择器,因为您有输入字段的ID。问题是您使用的是!=
而不是=
。
在这种情况下,您不必使用属性选择器,因为您使用id
作为属性,您有一个内置的id
选择器。
$('#test').click(function () {
var entrys = $('#entry5').nextAll(':text');
});
演示:Fiddle
答案 1 :(得分:0)
您打算使用=
代替!=
:
var entrys = $('input:text[id="entry5"]').nextAll('input:text');
但是,在这种情况下,Arun's solution更简单,更合适。