Jquery .delegate()方法
这个问题一直纠结了我很久,但没想到Jquery 居然是有提供获取方法的,现在才看到感觉实在坑爹。
用过Jquery 的朋友都知道通过append动态添加元素后无法获取到该元素,包括值与内容,原因是因为当文件加载完成时Jquery会获取所有元素保存成Jquery元素,但只在文档加载进来时获取一次,之后通过动态添加的就不会再获取得到(这些是本人自己一个种理解方式),因此官方有提供了delegate()方法来处理这个问题。
定义和用法
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
语法
$(selector).delegate(childSelector,event,data,function)
HTML:
<div class="wrapper"></div>
JS:
<script> $(function(){ //往之前的HTML中动态添加个.code的div进去 $('.wrapper').append('<div class="code">1111111111111</div>'); }); </script>
添加后效果: