百度答案:
$得到的是一个jquery的对象,里边除了使用document.getElementById获取的dom对象之外,还有事件处理对象,各种属性值和方法等等一大堆东西。
getElementById得到的仅仅是那个dom对象而已
一个是js对象,一个是jQuery对象 可互相转换: var jsObj = $("#xx")[0]; jsObj = $("#xx").get(0); var jsObj1 = document.getElementById("xx"); var $jqueryObj = $(jsObj);
实践:
背景介绍:页面用layui 后台页面时,需要点击一个按钮,然后改变<a>标签的href 属性值,然后使的<a>
标签点击
问题发现:当在后面用$("#ss").cilck() 点击的时候,页面<a> 标签不能实现点击
换成document.getElementById("ss").onclick(); 时可以使标签<a> 实现点击效果
问题解析:
onclick其实跟click不同,onclick触发的是方法,而click触发是按钮点击事件,然后触发方法 如果该对象没有事件onclick则无法被触发,而click却可以触发但是因为$("#ss")获取的是jquery的对象却反倒影响到了click事件,而用document.getElementById("ss")没有影响