将新元素附加到已经存在的元素
Appending a new element to an already existing one
我想将 'li' 'a' element/s 附加到当前列表(只是为了练习),我已经设法将 li 附加到文本中,但我想要它与其他 li 项目一样是 link。所以你好出现了,但它不是 link.
var newListItem = document.createElement("li");
var newListItemText = document.createTextNode("hello");
newListItem.appendChild(newListItemText);
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore (newListItem, secondItem [0]);
HTML
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
</ul>
</nav>
使用 innerHTML 可以为您节省很多不必要的DOM manipulation/creation:
var newListItem = document.createElement("li");
newListItem.innerHTML= '<a href="#">hello</a>';
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore(newListItem, secondItem[0]);
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
</ul>
</nav>
添加 li
是不够的,您还应该添加 a
标签
试试这个:
var newAnchor = document.createElement("a");
newAnchor.href= '#';
newAnchor.innerText = 'Just added';
var newListItem = document.createElement("li");
newListItem.appendChild(newAnchor);
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore(newListItem, secondItem[0]);
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
</ul>
</nav>
我想将 'li' 'a' element/s 附加到当前列表(只是为了练习),我已经设法将 li 附加到文本中,但我想要它与其他 li 项目一样是 link。所以你好出现了,但它不是 link.
var newListItem = document.createElement("li");
var newListItemText = document.createTextNode("hello");
newListItem.appendChild(newListItemText);
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore (newListItem, secondItem [0]);
HTML
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
<li><a href="#">Test</a></li>
</ul>
</nav>
使用 innerHTML 可以为您节省很多不必要的DOM manipulation/creation:
var newListItem = document.createElement("li");
newListItem.innerHTML= '<a href="#">hello</a>';
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore(newListItem, secondItem[0]);
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
</ul>
</nav>
添加 li
是不够的,您还应该添加 a
标签
试试这个:
var newAnchor = document.createElement("a");
newAnchor.href= '#';
newAnchor.innerText = 'Just added';
var newListItem = document.createElement("li");
newListItem.appendChild(newAnchor);
var secondItem = document.getElementById("mainNavUl");
secondItem.insertBefore(newListItem, secondItem[0]);
<nav id="mainNav">
<ul id="mainNavUl">
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
<li><a href="#">Test</a>
</li>
</ul>
</nav>