“遍历DOM”nextSibling属性不起作用。 (JavaScript)的

时间:2015-10-15 15:50:46

标签: javascript css dom siblings

JS nextSibling属性对我不起作用。

HTML:

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>DOCUMENT OBJECT MODEL</title>
        <meta charset="UTF-8">
        <link rel="stylesheet" type="text/css" href="css.css">
    </head>
    <body>
        <ul>
            <li class="sameClass" id="one">first list item</li>
            <li class="sameClass" id="two">second list item</li>
            <li class="sameClass" id="three">third list item</li>
            <li class="sameClass" id="four">fourth list item</li>
        </ul>
        <div id="getValues"></div>
        <script src="javascript.js"></script>
    </body>
</html>

CSS:

li.sameClass{
    background-color:black;
    color:white;
}
li.targetClass{
    background-color:orange;
    color:red;
}

JS:

var element = document.getElementById("one").nextSibling;
element.className = "targetClass";

此代码应通过将其className更改为“targetClass”来更改第id="two"个第二个列表项的外观。这不起作用,document.querySelector("#one")也不起作用。

可能是什么问题?

1 个答案:

答案 0 :(得分:2)

不使用nextSibling,而是使用nextElementSibling

nextSibling - 找到下一个兄弟,即使它不是一个元素(即文本节点)

nextElementSibling - 查找下一个兄弟元素。