【发布时间】:2011-11-21 15:06:10
【问题描述】:
我正在尝试提出一个选择器,它将选择所有 textarea 元素,除了那些是 .noSpell 类的后代的元素。
所以我希望这个匹配:
<div>
<textarea />
</div>
但不是这个
<div class="noSpell">
<div>
<textarea />
</div>
</div>
我试过了:
$(":not(.noSpell) textarea")
但它不起作用,大概是因为虽然它不会匹配外部元素,但它可以匹配任何内部元素。
那么,我将如何编写一个选择器来根据类名排除 DOM 树的某些部分?
【问题讨论】:
-
尝试使用一些有效的 HTML:
<textarea>&nbsp;</textarea> -
<textarea />是有效的 XHTML(不兼容 HTML,但有效)。不过,在其中填充一个不间断的空间可能不是一个好主意。 -
该死的,我总是添加那些愚蠢的 nbsps!原谅错误。 OP 从未指定它是 HTML 还是 XHTML。在 HTML 中,这会中断,您最终会在 textarea 中看到“”。
标签: javascript jquery css jquery-selectors