Css 选择具有指定元素的元素

Css 选择具有指定元素的元素,css,css-selectors,Css,Css Selectors,我是一个名为的插件的样式生成器,它允许您附加自己的样式表来更改站点用户界面。现在,我有个问题 我可以选择具有指定元素的元素吗 例如: <div class='visitor_message'> <div class='user_info'> Visitor Message Poster Info </div> <div class='deleted_message'> This message is deleted by foobar </d

我是一个名为的插件的样式生成器,它允许您附加自己的样式表来更改站点用户界面。现在,我有个问题

我可以选择具有指定元素的元素吗

例如:

<div class='visitor_message'>
<div class='user_info'> Visitor Message Poster Info </div>
<div class='deleted_message'> This message is deleted by foobar </div>
</div>
<div class='visitor_message'>
<div class='user_info'> Visitor Message Poster Info </div>
<div class='message'> Undeleted Content </div>
</div>

访客留言海报信息
此消息已被foobar删除
访客留言海报信息
未删除内容
我正在vBulletin上使用一种样式来删除一个元素,该元素包含一个已删除类的元素,因此软消息将被完全删除。如果我只是隐藏.deletedmessage,它仍然会留下信息栏

那么直截了当地说,是否可以选择具有指定元素的元素


我想选择包含.deletedmessage的.visitor\u消息,是否可能?如果是,怎么做?如果不是,有人能解释一下如何在jQuery或javascript上实现吗?

至于CSS,你基本上要求的是“祖先选择器”。至少在CSS3中没有这样的东西。非常粗略的解释是CSS通常看起来是“内”而不是“外”。我记得在某个地方读到过这样一篇文章:允许选择者查看父母/祖先也会对绩效产生重大影响,但目前无法提供引用

使用jQuery,您将:


(注意,我只在这里显示选择位。)

实际上,CSS4草稿中有一个祖先选择器。(或者具体地说,是一个“target”选择器,它指定要作为目标的元素,而不是通常的最右侧元素。)有趣。这已经足够远了,目前还没有实际用途,但我删除了“从不”
$('.visitor_message').has('.deletedmessage')