使用jquery创建新元素的方法为:$(html标签),例如 $("<p></p>")创建了一个段落。注意此时只是创建了对象,尚未添加到文档节点中去;以下四个 jQuery 方法可以添加新内容到文档树中:
append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容
after() - 在被选元素之后插入内容
before() - 在被选元素之前插入内容
下面进行实例演示:点击“添加”按钮,新建一个input文本框
1、HTML结构
<input type="text" id="test_input"><input type='button' value='添加'/>
2、javascript代码
$(function(){$("input[type='button']").click(function() {
new_obj = $("<input type='text'>")
$(this).before(new_obj)
})
})
3、显示效果
初始样式
点击两次“添加”按钮之后的效果
没理解你的提问,你的重点是each还是 *** 作动态添加的DOM?
关于 *** 作动态添加的DOM,需要用delegate或on来进行事件绑定,动态添加的DOM元素也同样绑定了该事件,原理就是事件代理,即事件冒泡。
<div class="container"><ul class="list-wrap">
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
</ul>
</div> $('.container').delegate('.item','click',function(){
handler()//执行函数
})
3. 如果必须用each来 *** 作,可以使用自定义事件,当添加新DOM之后,trigger('event_name')即可。在绑定自定义事件时的handler执行函数逻辑中使用each即可。只有dom插入页面后,才能获取到该元素
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)