使用Prototype JS库,我想选择所有子链接元素( A 标记),无论其父级是否为: H1 , H2 , H3 , H4 或 H5 (等),带有简单的 CSS选择器规则(而不是进一步的JS,像循环等)。
这样做的简单但很长的方法是:
$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a')
我想我正在寻找一个不存在的外卡属性,比如h *。
也许上面的例子是要走的路,但我希望有一种更简单,更简洁,更有效的方法来实现这一目标。
提示赞赏。
答案 0 :(得分:4)
根据FabienMénager对原始问题的评论,看起来没有一个简单的CSS选择器,我可以使用除了我已经使用的东西。
$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a')
虽然还有其他选择,如果我想对它进行编程,或者清空JQuery(这对我来说不是一个选项),我特意寻找CSS规则。
感谢所有试图提供帮助的人。
答案 1 :(得分:3)
使用jQuery:
$(":header a")
答案 2 :(得分:2)
http://docs.jquery.com/Selectors/header说:
:标题匹配所有标题元素,例如h1,h2,h3等。
为页面上的所有标题添加背景和文本颜色。
$(":header").css({ background:'#CCC', color:'blue' });
答案 3 :(得分:1)
从原型开发者那里得到了答案。这些是最好的,也是唯一的解决方案,现在至少:
$$('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a')
$('page').select('h1 > a, h2 > a, h3 > a, h4 > a, h5 > a')
然而,Prototype的下一个版本将允许您选择一个选择器引擎,默认为Sizzle。 :header
伪选择器实际上是Sizzle的一部分,因此将在未来版本的原型中可用(只要您选择sizzle作为您的选择器引擎)。我想之前没有包括它,因为它不是任何规范的一部分。