为什么jQuery选择器':not'不起作用?
我想选择一个带有 id 或 class 的 div,同时在 div 中排除一个 id 或 class 并将内容作为字符串获取。
这是我的标记:
<div id='main-content'>
<div>test 1</div>
<div class='ignore'>ignore test</div>
</div>
我试过 $('#main-content:not(.ignore)').text();
它正在选择 id 为 main-content 的 div,但忽略类仍然在字符串中。我究竟做错了什么?
这是一个小提琴示例。
回答
您正在选择具有 id 的元素并说该元素不应具有该类。它应该在子元素上完成。
console.log($("#main-content > *:not(.ignore)").text());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='main-content'>
<div>test 1</div>
<div class='ignore'>ignore test</div>
</div>