jquery next()跳过标签

jquery next()跳过标签,jquery,label,next,Jquery,Label,Next,我有一个通用函数,它从第一个字段填充第二个字段。 如果有标签,则会产生问题,因为标签是 next() 元素 因此,我最终得出以下结论: function buildoptions(el){ var element = el.id; var $flda = $('#'+element); var $fldb = $flda.next().next(); //double here to skip the label ..... } 但当然,我有一些字段没有标签

我有一个通用函数,它从第一个字段填充第二个字段。 如果有标签,则会产生问题,因为标签是

next() 
元素

因此,我最终得出以下结论:

function buildoptions(el){
  var element = el.id;
  var $flda = $('#'+element);   
  var $fldb = $flda.next().next();  //double here to skip the label
      .....
}
但当然,我有一些字段没有标签,所以这会中断

我在想

var $fldb = $flda.next().not(label);
它会起作用,但不会。它实际上抛出了一个错误

Error: 'label' is undefined
想法

HTML看起来像:

<label for="inp_29">Select drives next</label>
<select id="inp_29" name="driver1" onchange="buildoptions(this);">
  <option value="" selected="selected">Select</option>
  <option value="option1">option1</option>
  <option value="option2">option2</option>
</select>

<!--* SOMETIMES OPTIONAL LABEL*-->
 <label for="inp_30">No default options</label>
<!--* END SOMETIMES OPTIONAL LABEL*-->
<select id="inp_30" name="filler1">
  <option value="Select Driver First">Select Driver First</option>
</select>
下一步选择驱动器
挑选
选择1
选择2
没有默认选项
首先选择驱动程序
我还有一个表格案例:

<TR id="dynrow_table35_1" class="">
<TD class="odd">  
<LABEL for="inp_331">absel</LABEL>
<SELECT id="inp_331" onchange="buildoptions(this);" name="absel_1"> 
<OPTION value="">Select</OPTION>
<OPTION value="option1">option1</OPTION>
<OPTION value="option2">option2</OPTION>
</SELECT></TD>
<TD class="odd"><LABEL for="inp_341">No default options</LABEL>
<SELECT id="inp_341" name="abfil1">
<OPTION value="Select Driver First">Select Driver First</OPTION>
</SELECT> </TD>
</TR>

阿布塞尔
挑选
选择1
选择2
没有默认选项
首先选择驱动程序
id是动态构建的,我永远不会知道它们的实际id。

这是怎么回事

var $fldb = $flda.nextAll('input').eq(0);

那么
$flda.nextAll('input').eq(0)
。not(label)
遗漏引号!=><代码>.not('label')。。。添加了敏捷事项
^
html。使用单引号不会返回任何错误,但不起作用(第二个列表未填充),或者可能
$flda.sides('input').eq(0)“eq(0)”不是强制性的,如果您知道兄弟姐妹之间不会有多个输入。这是一种动态形式,因此可能有多个或没有其他相关输入。“输入”覆盖“选择”吗?不,它不考虑<代码> $FLDA。兄弟(“输入,选择”)。EQ(0);<代码>它将始终是“下一个”元素,但该元素可能有一个需要跳过的标签。好吧,那么这个选择器
'input,select'
应该起作用
;)