jquery next()跳过标签

时间:2013-10-11 15:01:21

标签: 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
      .....
}

但当然,我有一些没有标签的字段,所以这会打破......

我在想

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>

我也有一个表格案例:

<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>

id是动态构建的,我永远不会知道它们的实际ID。

1 个答案:

答案 0 :(得分:2)

这个怎么样..

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