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")
也不起作用。
可能是什么问题?
答案 0 :(得分:2)
不使用nextSibling
,而是使用nextElementSibling
。
nextSibling
- 找到下一个兄弟,即使它不是一个元素(即文本节点)
nextElementSibling
- 查找下一个兄弟元素。