0

在 jQuery 中,如何检查选择框是否包含特定的类?例如,在下面的代码片段中,我想检查 id 为“customerIds”的选择框是否包含任何具有“C”或“D”类的选项。

<select id="customerIds" onchange="doOperation()">
    <option value="default"> Start..</option>
    <option value="1" class="A"> 1</option>
    <option value="2" class="B"> 2</option>
    <option value="3" class="C"> 3 </option>
</select>
4

4 回答 4

1

For instance you can use :has.

var hasOption = !!$("#customerIds:has(option.C,option.D)").length;

Or .children() as well, which may prove to be faster.

var hasOption = !!$("#customerIds").children("option.C,option.D").length;

var hasOption = !!$("#customerIds > option.C,option.D").length;
于 2013-01-12T16:12:30.630 回答
1

Use hasClass() method: http://api.jquery.com/hasClass/

For example:

$("#customerIds").find("option").hasClass("A");
于 2013-01-12T16:13:23.370 回答
0

You can do:

if($("#customerIds option[class='C']").length > 0) {
    //do something
}
于 2013-01-12T16:12:55.117 回答
0

关于什么 :

if ($('#customerIds > .C').length > 0 || $('#customerIds > .D').length > 0) {
    // ...
}

或者更灵活/可优化的

var selectBox = $('#customerIds');

if (selectBox.find('.C').length > 0 || selectBox.find('.D').length > 0) {
    // ...
}
于 2013-01-12T16:17:14.663 回答