如何添加 element with a href attribut in multipleelement? [duplicate]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何添加 element with a href attribut in multipleelement? [duplicate]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有一个任务是在导航列表的“li”元素及其文本上创建链接。所以我必须添加一个带有href属性的锚元素,以及三个li元素,其中class =“navigation”。我尝试为此做一个代码,但是不正确的任何人都可以帮助我使它工作。
var a = document.createElement("a");
var li = document.getElementsByClassName("navigation");
for (i = 0; i < a.length; i++) {
a.setAttribute("href", "#html");
li.appendChild(a);
}
li class =“navigation” - 应该更改为 - li class =“navigation”a href =“#HTML”,依此类推三个“li”元素。
答案
在你的代码中,a
只被声明一次,当你改变setAttribute
并将a
追加到li
时,a
将引用相同的元素。
- 在for循环中移动
a
的声明。 - 使用
li[i]
而不是li
,因为li
不是其HTMLCollection的元素。
还要向a
添加一些innerHTML,以便查看它是否存在。并且避免声明隐式全局变量。使用let
和i
。
var li = document.getElementsByClassName("navigation");
for (let i = 0; i < li.length; i++) {
var a = document.createElement("a");
a.setAttribute("href", "#html");
a.innerHTML = 'link' + i
li[i].appendChild(a);
}
我建议你使用querySelectorAll
和forEach
循环。
var li = document.querySelectorAll(".navigation");
li.forEach(x => {
var a = document.createElement("a");
a.setAttribute("href", "#html");
a.innerHTML = 'link' + i
x.appendChild(a);
})
以上是关于如何添加 element with a href attribut in multipleelement? [duplicate]的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL JOIN with array type with array elements order,如何实现?