Javascript 使用jQuery以针对所有没有特定父项的dl标记

Javascript 使用jQuery以针对所有没有特定父项的dl标记,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试编写一个jQuery函数,用于选择和接收来自设计如下的网站的文本: <dl> <dd> hey </dd> </dl> <dl> <dd> how's it goin</dd> </dl> <div style="border:1px solid grey; background:#eee; padding:1em;"> <dl>

我正在尝试编写一个jQuery函数,用于选择和接收来自设计如下的网站的文本:

<dl>
    <dd> hey </dd>
</dl>
<dl>
    <dd> how's it goin</dd>
</dl>
<div style="border:1px solid grey; background:#eee; padding:1em;">
    <dl> 
        <dd>don't select this</dd>
    </dl>
</div>
我选择了所有3个dl标记中的文本,但是,我只想选择前2个dl标记中的文本。是否有任何方法可以过滤掉我得到的文本,通过某种方式说我不想要来自具有父div的dl标记的文本,该父div具有我发布的代码中所述的特定样式?谢谢你的帮助

$("dd").eq(0).text() 
将给你第一个dd文本

将给您第二个dd文本

如果您给的是您不想要的CSS类,那么您可以轻松使用:not选择器来执行此操作:

HTML:

它将选择所有没有noselect类的元素

有关:not

的概述,请参阅。您可以尝试以下方法:

$("dd").not("div dl dd");
如果这些都在你可以简单地做

$('body > dl dd');

根据它们都驻留在哪个父级中执行类似操作

此HTML包装在什么中?您不能执行类似$'div>dl>dd'的操作吗?您有能力编辑HTML吗?显示内容的父项是什么?如果你从那里开始很容易那太好了!我不知道这是可能的,这很有效!因为其他dl标记也在一个div中,所以我必须更具体地说div[style='border:1px solid grey;background:eee;padding:1em;'],但在这样做之后,我让它工作了。谢谢你的帮助!
<dd class="noselect">
$("dd:not(.noselect)").each(function() {
$("dd").not("div dl dd");
$('body > dl dd');