gpt4 book ai didi

javascript - 这段代码对不对?我觉得应该是

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:34 24 4
gpt4 key购买 nike

我一直在学习 JavaScript,我遇到了这个:

HTML:

<ul id="nav">
<li><a href="/" id="home">Home</a></li>
<li><a href="/about" id="about">About Us</a></li>
<li><a href="/contact" id="contact">Contact Us</a></li>
</ul>

JavaScript:

document.getElementById("about").parentNode.setAttribute("class", "active");
document.getElementById("about").parentNode.previousSibling.setAttribute("class", "previous");
document.getElementById("about").parentNode.nextSibling.setAttribute("class", "next");

但是每次我运行这段代码,我都会得到一个“TypeError”唯一似乎有效的是 document.getElementById("about").parentNode.setAttribute

这是正确的还是那些奇怪的东西最终无缘无故地不起作用?

最佳答案

问题是由每个 <li> 之间的换行符引起的节点。使用此 HTML 将起作用:

<ul id="nav">
<li><a href="/" id="home">Home</a></li><li><a href="/about" id="about">About Us</a></li><li><a href="/contact" id="contact">Contact Us</a></li>
</ul>

在换行完好无损的情况下,previousSiblingnextSiblingtextNode包含换行符。

我建议使用 jQuery相反——使用 jQuery 选择器可以避免这些类型的问题。

关于javascript - 这段代码对不对?我觉得应该是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com