“parent”是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
“parents”则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
使用区别:
[html] view plain copy
<ul id="menu" style="width:100px;">
<li>
<ul>
<li> <a href="#">Home</a> </li>
</ul>
</li>
<li>End</li>
</ul>
接下来,分别看看这三个方法:
<script type="text/javascript">
//点击Home时
$("#menu a")click(function() {
$(this)parent("ul")css("background", "yellow"); //0
$(this)parent("li")parent("ul")css("background", "yellow"); //1
$(this)parents("ul")css("background", "yellow"); //2
$(this)closest("ul")css("background", "yellow"); //3 return false;
});
</script>
1parent()方法从指定类型的直接父节点开始查找,在"0"中,<a>的直接父节点是<li>所以在这里找不到<ul>父节点。在"2"中先找到了<li>,接着找到<ul>,并将它的背景色设置为yellow。parent()返回一个节点。
2parents()方法查找方式同parent()方法类似,不同的一点在于,当它找到第一的父节点时并没有停止查找,而是继续查找,最后返回多个父节点,如在"2"中,使得id为menu的ul整个背景色变成了yellow。
3closest()方法查找时从包含自身的节点找起,它同parents()很类似,不同点就在于它只返回一个节点如在"3"中,实现的功能同1相同。但它使得代码量减小,同"2"相比又只返回单一的一个节点。可见,closest()方法在项目中的使用频率是比较大的。
这是因为next()是找紧挨着的弟弟元素,find()则是找子元素,两者是不同的。
也就是说: $(this)parent()next(); 是找父亲的弟弟,也就是叔叔,而 $(this)parent()find("div"); 则是在父亲的所有儿子中找名为div的兄弟元素(也可能就是this)。
parent() 获取 父节点
children() 获取所有子节点
parent()children() 就是,获取父节点下的所有子节点
$(this)parent()children()removeClass("db");就是 删除当前节点的父节点下的所有字节点的名为db的class属性,即:删除所有在同一父节点下的同级节点的名为db 的class属性
目前发现的化学元素虽然有上下位关系,如惰性元素包括,金属元素包括镧系元素包括锕系元素包括重元素包括轻元素包括
但是元素之间无法构成上下代关系。
而,唯一的例外可以是放射性元素,从一种物质衰变为另一种物质。类似于生物的传宗接代。当前元素的父元素是放射行为起点的元素。
还有一个例外是恒星的核聚变过程,轻元素吸收能量变成重元素。轻元素与重元素之间构成了上下代关系。重元素的父元素是轻元素。
至于你问的当前元素的父元素的父元素,即当前元素的祖元素,目前尚无例子支持你的提法。
$('#')children()获取选择器下面一级的子节点,如果要获取第几个可以通过$('#')children()eq(n) n从0开始 如果要再获取下一级的子节点又得children(),这个方法返回的是一个数组
当然也可以通过find获取比如父节点下面所有的节点或者什么元素,比如一个tr下面有一个td里面有<input type="text" name="username">这样的输入框,你可以通过父节点find('input[name="username"]')就可以获取这个输入框,前提是这个这个输入框是唯一的,如果是重复的那么取出来的就是一个数组了,看你想怎么用吧
以上就是关于jQuery中的parent()和parents()有什么区别呢全部的内容,包括:jQuery中的parent()和parents()有什么区别呢、jquery拿到父节点找不到子节点、jquery,有段代码(不全),$(this).parent().children().removeClass("db"); $(this).addClass("db");等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)