苏子沫
2016-11-17 10:34
$(this).parents(".ex").hide();
和
$(this).parentNode(".ex").hide();还有$(this).parentNode.hide();的区别是什么那?刚开始学习,$(this).parents(".ex").hide()可以实现对类名为ex的隐藏功能,但是第二个和第三个就不行,为什么
主要的区别就是jQuery对象和原生DOM对象的区别
jQuery的.parent()函数是只往父级找一层
jQuery的.parents()函数是往父级找多层,一直找到body标签
parentNode是HTML DOM parentNode 属性,不是jQuery方法
$(this)是jQuery对象,无法直接使用DOM对象的方法及属性,需要转成DOM对象,转成DOM对象了之后也不能使用jQuery的方法了,改为:
$(this).get(0).parentNode.style.display="none";
(根据我自己的理解在网上查了解释,希望对你有帮助,对不对需要你自己试一下)
$(this).parentNode(".ex").hide(); 返回的是.ex节点的父节点的节点名 例如<ul><li>Coffee</li><li>Tea</li></ul>
var x=document.getElementById("demo");
var y=document.getElementsByTagName("LI")[0];
x.innerHTML=y.parentNode.nodeName;
}返回的是ul
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题