如何通过JQuery选择没有html的<select>元素

时间:2016-09-10 16:31:47

标签: javascript jquery html select jquery-selectors

我有以下html选择元素     &lt; select id =&#34; options1&#34;标题=&#34; prd_name&#34;名称=&#34;选择&#34;&GT;        &lt;选项值=&#34;选项a&#34;&gt;选项A&lt; /选项&gt;        &lt; option value =&#34; optionb&#34;&gt;选项B&lt; / option&gt;        &lt; option value =&#34; optionc&#34;&gt;选项C&lt; / option&gt;     &LT; /选择&GT;     &lt; select id =&#34; options2&#34;标题=&#34; prd_name&#34;名称=&#34;选择&#34;&GT; &LT; /选择&GT;     &lt; select id =&#34; options3&#34;标题=&#34; prd_name&#34;名称=&#34;选择&#34;&GT; &LT; /选择&GT;     &lt; select id =&#34; options4&#34;标题=&#34; prd_name&#34;名称=&#34;选择&#34;&GT; &LT; /选择&GT; 只有第一个选择元素,其id =&#34; options1&#34;其中包含选项标签,其余选择元素为空。我想选择那些空的select元素,这样我就可以在其中填充选项,而无需触及已经有选项的第一个select元素。我怎么能通过Jquery做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以使用选择器select:empty;或者你可以使用select:not(:has(option))

console.log($("select:empty"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<select id="options1" title="prd_name" name="options">
  <option value="optiona">Option A</option>
  <option value="optionb">Option B</option>
  <option value="optionc">Option C</option>
</select>
<select id="options2" title="prd_name" name="options"></select>
<select id="options3" title="prd_name" name="options"></select>
<select id="options4" title="prd_name" name="options"></select>

答案 1 :(得分:0)

试试这个

var $select = $("select").filter(function () {
         return !$(this).find("option").length;
       });
console.log($select);

$ select将为您提供除选项元素之外的所有选择框 然后你可以遍历$ select并执行任何任务