jquery.next()缺少插入的表单元素

wyyhbhjk  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(127)

我对.next('selector ')方法应用于html时的行为有些困惑:

<form>
   <label for="relayhosts" class="fixedwidth">Relay Host(s)</label>  
   <input style="display: none;" name="relayhosts" value="" type="text">   
   <input class="ip_octet" id="octet_1" type="text">
   <label class="ip_octet_label">.</label>
   <input class="ip_octet" id="octet_2" type="text">
   <label class="ip_octet_label">.</label>
   <input class="ip_octet" id="_octet_3" type="text">
   <label class="ip_octet_label">.</label>
   <input class="ip_octet" id="octet_4" type="text">
</form>

使用$('#octet_1').next('input');不会返回任何结果,但$('#octet_1').next().next();会按预期返回下一个输入。
我也试过$('#octet_1').next('input.ip_octet');$('#octet_1').next('.ip_octet');,它们都没有返回任何值。
input和label元素是动态生成的,但是当**next.().next()**方法看到它们时,DOM中存在的对象似乎没有问题。

x0fgdtte

x0fgdtte1#

next()返回下一个元素only如果它匹配选择器。
另一方面,nextAll()搜索所有下一个元素,并返回与选择器匹配的元素。
所以,你可能想要:

nextAll('input:first');

(see :first selector
或者

nextAll('input').first();

取决于个人喜好。

rn0zuynd

rn0zuynd2#

Jquery Next method获取匹配元素集合中每个元素的紧接着的兄弟元素。如果提供了一个选择器,则仅当下一个同级与该选择器匹配时,它才会检索该同级。

$('#octet_1').nextAll('input')

相关问题