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

Car*_*los 4 jquery dom next

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

<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>
Run Code Online (Sandbox Code Playgroud)

使用$('#octet_1').next('input');返回没有结果仍然$('#octet_1').next().next();按预期返回下一个输入.

我也尝试了$('#octet_1').next('input.ip_octet');,$('#octet_1').next('.ip_octet');两者都没有返回.

输入和标签元素是动态生成的,但是作为下一个.().next()方法看到它们,它似乎不是DOM中存在的对象的问题.

Mat*_*att 6

next()当它与选择器匹配时才返回下一个元素.

nextAll() 另一方面,搜索所有下一个元素并返回与选择器匹配的元素.

所以,你可能想要:

nextAll('input:first');
Run Code Online (Sandbox Code Playgroud)

(见:first选择器)

... 要么

nextAll('input').first();
Run Code Online (Sandbox Code Playgroud)

......取决于个人喜好.