O C*_*nor 4 html javascript closest nextsibling
我有两个div元素,第一个 div 中有一个按钮,如下所示。
<div class='my-class'>
<div class='other-div'>
<button onClick="nextDiv(this);">Click</button>
</div>
</div>
<div class='my-class'>
</div>
Run Code Online (Sandbox Code Playgroud)
下面是我的 JavaScript 代码。
function nextDiv(element) {
element.closest('.my-class').style.display = 'none';
element.closest('.my-class').nextSibling.style.display = 'block';
}
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时,为什么我可以隐藏第一个元素,但无法显示下一个带有 class 的 div 元素my-class。相反,我收到以下错误:
Uncaught TypeError: Cannot set property 'display' of undefined
Run Code Online (Sandbox Code Playgroud)
似乎我无法my-class使用 nextSibling 属性选择类的下一个 div 元素。我做错了什么?
nextSibling在这种情况下返回一个文本节点:
<TextNode textContent=" \n">
Run Code Online (Sandbox Code Playgroud)
nextElementSibling代替使用。
基于 Gecko 的浏览器将文本节点插入到文档中以表示源标记中的空白。因此,例如使用 Node.firstChild 或 Node.previousSibling 获取的节点可能引用空白文本节点,而不是作者想要获取的实际元素。
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |