JavaScript中,可以用元素的innerHTML直接添加子元素吗?
1个回答
展开全部
当然可以了,几乎所有的DOM对象都有innerHTML属性,它是一个字符串,用来设置或获取位于对象起始和结束标签内的HTML。要用innerHTML给元素添加子元素只要将包含有子元素的html赋值给元素的innerHTML就好了。如:
<!—需要给div元素添加子元素 -->
<body>
<p>Hello World</p>
<div id="myDiv"></div>
</body>
//将<p>元素添加到div中。
document.getElementById(“myDiv”).innerHTML = “<p>我是新添加的子元素<p>”;
上面的示例较简单,赋值给innerHTML的值可以是一个表单,可以是更长更复杂的html。
虽然innerHTML属性添加子元素很方便,但容易出错,很多教程 网上(如秒秒学)都不使用。更常用添加节点的方式,来添加子元素。这样更加准确和具体的描述了DOM的变化。如上述innerHTML的语句可以替换成:
var myParaElement = document.createElement(“p”); //创建p元素
var myText = document.createTextNode(“我是文本节点!”); //创建文本节点
myParaElement.appendChild(myText); //将文本节点做为p元素的子节
document.getElementById(“myDiv”).appendChild(myParaElement) ; //再将p元素做为子节点放在div元素下。
<!—需要给div元素添加子元素 -->
<body>
<p>Hello World</p>
<div id="myDiv"></div>
</body>
//将<p>元素添加到div中。
document.getElementById(“myDiv”).innerHTML = “<p>我是新添加的子元素<p>”;
上面的示例较简单,赋值给innerHTML的值可以是一个表单,可以是更长更复杂的html。
虽然innerHTML属性添加子元素很方便,但容易出错,很多教程 网上(如秒秒学)都不使用。更常用添加节点的方式,来添加子元素。这样更加准确和具体的描述了DOM的变化。如上述innerHTML的语句可以替换成:
var myParaElement = document.createElement(“p”); //创建p元素
var myText = document.createTextNode(“我是文本节点!”); //创建文本节点
myParaElement.appendChild(myText); //将文本节点做为p元素的子节
document.getElementById(“myDiv”).appendChild(myParaElement) ; //再将p元素做为子节点放在div元素下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询