应当使用append()方法,因为html()方法用于设置内容时,会重写所有匹配元素的内容,因此会替换。
1、关于append()方法定义和用法:
append() 方法在被选元素的结尾插入指定内容。此外,如需在被选元素的开头插入内容,请使用 prepend() 方法。
2、语法:
$(selector).append(content,function(index,html))。
3、设计一个简单的html页面,存在一个div,和一个添加按钮。
4、设计简单的css样式:
5、此时的页面展示如下:
6、设计一个简单的select元素:
7、此时点击一次按钮,查看页面效果:
8、再次点击,如下出现两个select。
有两种方式,一种使用handlerbar ,underscore等模板进行处理一种使用jquery 的clone方法,复制一个对象
可参照demo, 需要注意的是,如果进行这种 *** 作,尽量不要给元素赋id属性,使用class处理
http://jsfiddle.net/xcchcaptain/dx24p1d8/
当然可以了,几乎所有的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元素下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)