Javascript 包装在两个容器中的未命名href链接
我正在尝试更改基本Javascript 包装在两个容器中的未命名href链接,javascript,html,dom,Javascript,Html,Dom,我正在尝试更改基本 我不是JS专业人士。从我在这里发布之前读到的一些东西来看,childNodes.childNodes似乎是在JS(或DOM?)中搜索节点级别的无效方法 是否有其他方法可以操纵我的标签的href .childNodes[0]不会有任何子节点,因为第一个子节点是文本节点,包含前面的换行符和空格(至少在您的示例中是这样)。您希望获得第一个元素节点 例如: document.getElementById("SiteMenu").children[0].children[0].hr
我不是JS专业人士。从我在这里发布之前读到的一些东西来看,childNodes.childNodes似乎是在JS(或DOM?)中搜索节点级别的无效方法
是否有其他方法可以操纵我的标签的href
.childNodes[0]
不会有任何子节点,因为第一个子节点是文本节点,包含前面的换行符和空格(至少在您的示例中是这样)。您希望获得第一个元素节点
例如:
document.getElementById("SiteMenu").children[0].children[0].href = '...';
有关更多信息,请参阅
或者,您可以迭代每个子节点并测试其是否为元素节点
document.getElementById("SiteMenu").firstChild.childNodes[0].href = "/search.aspx?keyword='+'&page=1";`
<div id="SiteMap">
<p>
<a href="/home.aspx">Home</a>
</p>
</div>
document.getElementById("SiteMenu").children[0].children[0].href = '...';