4

我需要以下 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');
}
4

2 回答 2

6

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

你需要测试

if($('optgroup[label="Knowledge Base"]').length == 0) {
    alert('test');
}
于 2013-08-15T01:15:37.347 回答
5

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

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

小提琴。

于 2013-08-15T01:16:10.080 回答