Javascript 使用for循环中的href将节点替换为锚点
理论上,该代码应将第1-4段写入到www.bing.ca的链接中,并将段落编号作为文本。几天来,我一直在努力寻找错误,但我失败得很惨。任何帮助都将不胜感激。这是我有史以来的第一个问题,所以如果我能把它做得更好,以备将来参考,我也会很感激的。多谢各位 代码如下:Javascript 使用for循环中的href将节点替换为锚点,javascript,css,html,href,Javascript,Css,Html,Href,理论上,该代码应将第1-4段写入到www.bing.ca的链接中,并将段落编号作为文本。几天来,我一直在努力寻找错误,但我失败得很惨。任何帮助都将不胜感激。这是我有史以来的第一个问题,所以如果我能把它做得更好,以备将来参考,我也会很感激的。多谢各位 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title> <scr
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script>
window.onload = function() {
var innerDiv = document.getElementById("innerDiv");
var newDiv = document.createElement("div");
for (var i = 0; i < innerDiv.childNodes.length; i++) {
var anchor =
newDiv.appendChild(document.createElement("a"));
anchor.setAttribute("href", "http://www.bing.ca");
anchor.text = innerDiv.childNodes[i].textContent;
newDiv.appendChild(document.createElement("br"));
}
innerDiv.replaceNode(newDiv);
}
</script>
</head>
<body>
<div id="outerDiv">
<p class='mainPara'>Main Paragraph</p>
<ul>
<li>First List Item</li>
<li>Second List Item</li>
<li>Third List Item</li>
<li>Fourth List Item</li>
</ul>
<div id="innerDiv">
<p class='subPara' id='P1'>Paragraph 1</p>
<p class='subPara' id='P2'>Paragraph 2</p>
<p class='subPara' id='P3'>Paragraph 3</p>
<p class='subPara' id='P4'>Paragraph 4</p>
</div>
<table>
</table>
<input type="text"/><input type="submit" value="Submit!">
</body>
</html>
请注意,replaceNode仅适用于IE。也许可以改用innerHTML
var innerDiv=document.getElementByIdinerDiv;
var newDiv=document.createElementdiv;
对于var i=0;i让你的下一个问题变得更好的一个重要方法是跳过亵渎。谢谢。我正要这么做,是的!对对就这样!你真是个奇迹!我一直在反复讨论这个代码。我感谢你的意见。问题是我在用Chrome编写代码并使用replaceNode。哇!看起来要花一些时间才能弄清楚哪些方法只适用于某些浏览器。天哪,没问题。尽可能地投票并接受答案。浏览器兼容性不再是过去的问题。当您了解了javascript的基本知识后,看看这个库,它将缓解许多跨浏览器的难题,只需确保您首先了解javascript的基本知识。最后了解一些方便的工具:Chrome开发者工具按f12,IE开发者工具f12和firefox FireBug插件inWow。谢谢你,杰维。F12现在是我新结识的朋友。我想投票,但显然我的名声还不够好。如果我能,我会的!