Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 什么是正确的选择器字符串,以获得我想要的HTML中的特定元素?_Javascript_Html_Css Selectors - Fatal编程技术网

Javascript 什么是正确的选择器字符串,以获得我想要的HTML中的特定元素?

Javascript 什么是正确的选择器字符串,以获得我想要的HTML中的特定元素?,javascript,html,css-selectors,Javascript,Html,Css Selectors,我需要选择字段集中的所有按钮。 我想知道的是,在显示为这个炒锅的情况下,这些特定的选择器有什么区别吗。此外,为什么案例显示为错误。我想知道原因。我正在从中读取CSS选择器。正在使用选择器 是的,这些选择器都不同,但是选择正确的东西。当出现稍微不同的标记时,CSS选择器需要这种冗余/灵活性 非工作选择器 图例>输入不起作用,因为图例不是输入的父项。那些是兄弟姐妹。您可以使用图例~输入 fieldsetnavFieldset选择字段集,但您似乎对输入子项感兴趣。您可以使用子选择器>:fieldset

我需要选择字段集中的所有按钮。
我想知道的是,在显示为这个炒锅的情况下,这些特定的选择器有什么区别吗。此外,为什么案例显示为错误。我想知道原因。我正在从中读取CSS选择器。

正在使用选择器 是的,这些选择器都不同,但是选择正确的东西。当出现稍微不同的标记时,CSS选择器需要这种冗余/灵活性

非工作选择器 图例>输入不起作用,因为图例不是输入的父项。那些是兄弟姐妹。您可以使用图例~输入


fieldsetnavFieldset选择字段集,但您似乎对输入子项感兴趣。您可以使用子选择器>:fieldsetnavFieldset>输入,使用方式与使用子选择器空格:fieldsetnavFieldset输入相同。

@Artjom B:我需要选择带有字段集的所有按钮。您可以很容易地从querySelectorAll函数中的String参数中识别出来。是的,如果缩进正确,则可以识别//工作注释和//不工作注释。现在我知道了,有什么问题吗?有一些选择器可以工作,那么问题到底是什么呢?@Artjom B:如果是这样,我将它们显示为未注释的,人们可能会认为它是在程序流程中。当您将所有这些选择器并排比较时,差异应该非常明显。例如,如果您的所有其他选择器都以输入结尾,那么是什么让您认为fieldsetnavFieldset会选择您的输入?我正在从本资源中读取CSS选择器。你从阅读中学到了什么?如果你甚至不打算对此发表评论,告诉我们你已经读过一些东西是没有用的。你可以使用fieldsetnavFieldset>input。。。或者其他任何一个已经被证明有效的选择器。我真傻,竟然把图例当作输入的父项
<body><form>

<fieldset>
 <legend>Current Node Information</legend>
    <label>Node Name: <input type="text" id="nodeNameField"></label><br>
    <label>Node Type: <input type="text" id="nodeTypeField"></label><br>
    <label>Node Value: <input type="text" id="nodeValueField"></label><br>
    <label>Child Element Count: <input type="text" id="childElementCountField"></label>
</fieldset>

<fieldset id="navFieldset">
 <legend>Movement Controls</legend>
 <input type="button" value="Parent" data-prop="parentNode" id="parentBtn">
 <input type="button" value="First Child" data-prop="firstChild" id="firstChildBtn">
 <input type="button" value="Reset to Root" data-prop="root" id="rootBtn">
</fieldset>
</form></body>
window.onload = function () {
    nodeMove.currentElement = document.documentElement;

    var elements = document.querySelectorAll("fieldset#navFieldset input");  
    for (var i = 0, len = elements.length; i < len; i++)  {
        elements[i].onclick = function () { nodeMove(this) };
    }
    update(nodeMove.currentElement);
}
#navFieldset input    // this works fine
legend > input        // ERROR
#navFieldset > input  // this works fine
fieldset > input      // this works fine
fieldset#navFieldset  // ERROR