【问题标题】:jquery .next() missing injected form elementjquery .next() 缺少注入的表单元素
【发布时间】:2012-05-16 22:36:59
【问题描述】:

.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'); 两者都没有返回。

输入和标签元素是动态生成的,但在 next.().next() 方法看来,DOM 中存在的对象似乎不是问题。 p>

【问题讨论】:

    标签: jquery dom next


    【解决方案1】:

    next()返回与选择器匹配的下一个元素。

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

    所以,你可能想要:

    nextAll('input:first');
    

    (见:first selector

    ...或

    nextAll('input').first();
    

    ...取决于个人喜好。

    【讨论】:

    • 你的明星!我不敢相信我错过了。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      相关资源
      最近更新 更多