为什么“document.querySelector('a.some class') [0].href”返回空值?

Nee*_*elp 0 html javascript firefox

我被建议(here)使用:

var nextPageUrl = document.querySelector('a.some class')[0].href;
Run Code Online (Sandbox Code Playgroud)

获取包含在锚中的 URL。但是 Firebug 控制台说它返回 null:

类型错误:document.querySelector(...) 为空

语法似乎正确,“somme class”锚确实存在,如下所示。

<a href="mypage02.html" target="_self" class="some class" title="My Second Page">
Run Code Online (Sandbox Code Playgroud)

我试过

var nextPageUrl = document.querySelectorALL('a.some class')[0].href;
Run Code Online (Sandbox Code Playgroud)

然后我收到“未定义”错误。

非常感谢

Aru*_*hny 5

由于someclass是您需要使用的同一元素中的 2 个不同类.some.class,如果在它们之间留出空格,它将成为后代选择器。

<a href="mypage02.html" target="_self" class="some class" title="My Second Page">
Run Code Online (Sandbox Code Playgroud)

有一些和班级是 2 个不同的班级

var nextPageUrl = document.querySelectorAll('a.some.class')[0].href;
Run Code Online (Sandbox Code Playgroud)

您正在寻找标记名的元素class是锚与阶级的后代some

<a href="mypage02.html" target="_self" class="some" title="My Second Page">
    <maybe-some-parents>
        <some></some>
    </maybe-some-parents>
</a>
Run Code Online (Sandbox Code Playgroud)