Javascript CasperJS单击与选择器匹配的所有链接
我已经读过这篇文章,并希望能更进一步 我想使用该函数单击与选择器匹配的多个链接。请注意,这些链接没有显著的Javascript CasperJS单击与选择器匹配的所有链接,javascript,css-selectors,casperjs,selectors-api,Javascript,Css Selectors,Casperjs,Selectors Api,我已经读过这篇文章,并希望能更进一步 我想使用该函数单击与选择器匹配的多个链接。请注意,这些链接没有显著的href标记 考虑以下标记: HTML: <div> <h1 class='myLink'>Cocacola</h1> <div> <div> <h1 class='myLink'>Sprite</h1> </div>
href
标记
考虑以下标记:
HTML:
<div>
<h1 class='myLink'>Cocacola</h1>
<div>
<div>
<h1 class='myLink'>Sprite</h1>
</div>
</div>
</div>
捕获第一个h1
,Cocacola。但是:
document.querySelector("div .myLink:nth-of-type(2)");
返回null
有什么想法吗?非常感谢 的CSS规范说明:
:nth of type(an+b)伪类表示法表示一个元素,对于任意零整数值或正整数值n,该元素在文档树中有一个+b-1同级元素,其前面有相同的扩展元素名,并且有一个父元素
也就是说,元素必须是兄弟元素
比如说,
<div>
<h1 class='myLink'>Cocacola</h1>
<h1 class='myLink'>Miranda</h1>
<div>
<div>
<h1 class='myLink'>Sprite</h1>
</div>
</div>
</div>
可乐
米兰达
(传说中的)精灵
类型(2)的选择器div.myLink:n将选择Miranda。也就是说,给定n个'div.myLink'类型的同级,选择器将从中选择第二个元素
下面是上述示例的示例
希望这有帮助 的CSS规范说明:
:nth of type(an+b)伪类表示法表示一个元素,对于任意零整数值或正整数值n,该元素在文档树中有一个+b-1同级元素,其前面有相同的扩展元素名,并且有一个父元素
也就是说,元素必须是兄弟元素
比如说,
<div>
<h1 class='myLink'>Cocacola</h1>
<h1 class='myLink'>Miranda</h1>
<div>
<div>
<h1 class='myLink'>Sprite</h1>
</div>
</div>
</div>
可乐
米兰达
(传说中的)精灵
类型(2)的选择器div.myLink:n将选择Miranda。也就是说,给定n个'div.myLink'类型的同级,选择器将从中选择第二个元素
下面是上述示例的示例
希望这有帮助 如前所述,类型(1)
的第n个:n个起作用,但类型(2)
的第n个:n个不起作用,因为每个类型只有一个h1
作为其父div
的子类型。类选择器.myLink
完全是一个单独的条件,不影响:nth-of-type()
的工作方式
第一条语句返回第一个元素的原因是,尽管从技术上讲,有两个元素匹配类型(1)
的第n个元素
要获取与选择器匹配的第一个和第二个元素,请使用queryselectoral()
而不是querySelector()
,使用索引器而不是:nth-of-type()
伪类:
var cocacola = document.querySelectorAll("div .myLink")[0];
var sprite = document.querySelectorAll("div .myLink")[1];
如前所述,类型(1)
的第n个:n个:n个起作用,但类型(2)
的第n个:n个不起作用,因为每个类型只有一个h1
作为其父div
的子类型。类选择器.myLink
完全是一个单独的条件,不影响:nth-of-type()
的工作方式
第一条语句返回第一个元素的原因是,尽管从技术上讲,有两个元素匹配类型(1)
的第n个元素
要获取与选择器匹配的第一个和第二个元素,请使用queryselectoral()
而不是querySelector()
,使用索引器而不是:nth-of-type()
伪类:
var cocacola = document.querySelectorAll("div .myLink")[0];
var sprite = document.querySelectorAll("div .myLink")[1];
如果您不希望加载新页面,则可以使用的可能副本。n类型
仅在元素类型上运行,在这种情况下,h1
。它将不考虑类.myLink
。索引仅对直接位于同一父级下的元素表示某些内容。如果您不希望加载新页面,则可以使用的可能重复。n类型
仅对元素类型运行,在这种情况下,h1
。它将不考虑类.myLink
。索引仅对直接位于同一父级下的元素有意义。