Jquery,如果optgroup不包含

时间:2013-08-15 01:12:50

标签: jquery optgroup

我需要帮助以下jQuery,它不适合我。我只想在<optgroup label="Knowledge Base">不存在的情况下触发一些动作

我的HTML(无法更改):

<select id="entry_forum_id" name="entry[forum_id]">
<optgroup label="Knowledge Base"> … </optgroup>
<optgroup label="Incidents"> … </optgroup>
<optgroup label="Articles"> … </optgroup>
</select>

我的jQuery尝试:

if($('optgroup:not([label="Knowledge Base"])')) {
    alert('test');
}

2 个答案:

答案 0 :(得分:6)

$('optgroup:not([label="Knowledge Base"])')返回一个jQuery包装器对象,你需要测试它的length属性来检查它是否包含任何元素

你需要测试

if($('optgroup[label="Knowledge Base"]').length == 0) {
    alert('test');
}

答案 1 :(得分:5)

我认为你不需要伪选择器:不是。只需检查没有带有该标签的optgroup:

if($('optgroup[label="Knowledge Base"]').length == 0) {

Fiddle.