Javascript 如何添加<;a>;具有多个href属性的元素<;李>;元素?
我的任务是在导航列表的“li”元素及其文本上创建链接。因此,我必须使用class=“navigation”将一个带有a href attribute的锚元素添加到三个li元素中。我试图做一个代码,但它是不正确的,任何人都可以帮助我使其工作Javascript 如何添加<;a>;具有多个href属性的元素<;李>;元素?,javascript,Javascript,我的任务是在导航列表的“li”元素及其文本上创建链接。因此,我必须使用class=“navigation”将一个带有a href attribute的锚元素添加到三个li元素中。我试图做一个代码,但它是不正确的,任何人都可以帮助我使其工作 var a = document.createElement("a"); var li = document.getElementsByClassName("navigation"); for (i = 0; i < a.length; i++) { a
var a = document.createElement("a");
var li = document.getElementsByClassName("navigation");
for (i = 0; i < a.length; i++) {
a.setAttribute("href", "#html");
li.appendChild(a);
}
var a=document.createElement(“a”);
var li=document.getElementsByClassName(“导航”);
对于(i=0;i
li class=“导航”-应更改为-
li class=“navigation”a href=“#HTML”等表示三个“li”元素。在您的代码中
a
仅声明一次,当您更改setAttribute
并将a
附加到li
a
时,将引用同一元素
- 在for循环中移动
的声明a
- 使用
而不是li[i]
,因为li
不是它的HTMLCollection元素li
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);
}
@马特伦:谢谢你的建议。我已经编辑了答案。第一个代码中有一个拼写错误,
for(让I=0;I
a.length
应该是li.length
很好的代码,这很有效。谢谢!但是现在我有另一个问题。导航不是一个链接,而是导航标题旁边有一个链接。@Sus不能说任何话,除非看到你正在使用的代码。HTML代码是var li = document.querySelectorAll(".navigation");
li.forEach(x => {
var a = document.createElement("a");
a.setAttribute("href", "#html");
a.innerHTML = 'link' + i
x.appendChild(a);
})