
jQuery的核心是通过各种选择器,轮则尘选中DOM元素,可以用querySelectorAll方法模拟这个功能。
var $ = document.querySelectorAll.bind(document)
这里需要注意的是,querySelectorAll方法返回的是NodeList对象,它很像数组(有数字索引和length属性),但不是数组,不能使用pop、push等数组特有方法。
二、DOM *** 作
DOM本身就具有很丰富的 *** 作方法,可以盯桥取代jQuery提供的 *** 作方法。
尾部追加DOM元素。
// jQuery写法
$(parent).append($(child))
// DOM写法
parent.appendChild(child)
头部插入DOM元素。
// jQuery写法
$(parent).prepend($(child))
// DOM写法
parent.insertBefore(child, parent.childNodes[0])
删除DOM元素。
/腊禅/ jQuery写法
$(child).remove()
// DOM写法
child.parentNode.removeChild(child)
没理解你的提问,你的重点是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条)