Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CasperJS单击与选择器匹配的所有链接_Javascript_Css Selectors_Casperjs_Selectors Api - Fatal编程技术网

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
。索引仅对直接位于同一父级下的元素有意义。