选择具有指定元素的元素

时间:2011-12-12 09:50:51

标签: css css3 css-selectors

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

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

示例:

<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>

我在vBulletin上运行一个样式来删除一个元素,该元素包含一个删除了类的元素,因此软消息将被完全删除。如果我只是隐藏.deletedmessage,它仍会留下信息栏。

如此直截了当,是否可以选择具有指定元素的元素?

我想选择包含.deletedmessage的.visitor_message,是否可能?如果是的话,怎么样?如果不是,有人可以解释如何在jQuery或javascript上执行此操作吗?

1 个答案:

答案 0 :(得分:3)

就CSS而言,你基本上要求的是“祖先选择器”。至少CSS3没有这样的事情。非常粗略的解释是CSS通常看起来“在”而不是在外面。我记得在某处阅读允许选择者查看父母/祖先也会对性能产生重大影响,但目前无法提供引用。

使用jQuery,你需要use .has() to achieve this

$('.visitor_message').has('.deletedmessage')

(注意我只在那里向你显示选择位 。)