jquery parent()与parents()方法使用说明

遍历节点-parents()方法

.parents([selector])方法返回的是每一个匹配的元素的祖先元素的集合,这些祖先元素中,会包含html这个元素,我们还可以通过传入一个参数来对这些祖先元素进行筛选。

但是在jquery1.4.4 API中文chm文档中却是这样说的:
取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。

但是我测试过了根元素html的确是可以取到的。
下面来看测试代码:

 代码如下 复制代码

<HTML>
 
<DIV>
    <p>
        <SPAN>梦三秋</SPAN>
    </p>
</DIV>
<INPUT id=test value=获取span的所有的祖先元素 type=button>
<DIV style="BORDER-BOTTOM: #ff0000 1px solid; BORDER-LEFT: #ff0000 1px solid; PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; WIDTH: 250px; PADDING-RIGHT: 10px; DISPLAY: block; HEIGHT: 100px; BORDER-TOP: #ff0000 1px solid; BORDER-RIGHT: #ff0000 1px solid; PADDING-TOP: 10px" id=results></DIV>

jquery代码:

 代码如下 复制代码

$("#test").click(function(){
    $("span").parents().each(function(index){
        var index = index + 1;
        $("#results").append("span元素的第" + index + "祖先元素为<FONT color=red>" + this.nodeName + "</FONT>");
    });
});

 代码如下 复制代码

<div>
 <p>
  <span>梦三秋</span>
 </p>
</div>

<input type="button" id="test" value="获取span的所有的祖先元素">
<div id="results" style="display:block;padding:10px;border:1px solid #FF0000;width:250px;height:100px;"></div>
<script>
$("#test").click(function(){
$("span").parents().each(function(index){
var index = index + 1;
$("#results").append("span元素的第" + index + "祖先元素为<font color='red'>" + this.nodeName + "</font><br />");
});
});
</script>

下来还是上面的HTML代码,只不过在jquery代码中给.parents()方法传入一个参数,让它获取span元素的祖先元素中的div元素。

 代码如下 复制代码

$("#test").click(function(){
    $("span").parents("div").find("*").each(function(){//找到span的祖先元素中的div元素,然后再找到div元素中的 所有的元素
        alert(this.nodeName);
    });
});

遍历节点-parent()方法

.parent([selector])方法返回的是每一个匹配的元素的父元素的集合。
这里selector是可选参数,是用于过滤父元素的选择器表达式。

 代码如下 复制代码

<DIV class=demo>
<DIV><p><A title=jquery href="">jquery</A>学习</p></DIV>
<DIV class=selected><p>jquery教程</p></DIV>
<DIV class=selected><p>jquery插件</p></DIV>
</DIV>

jquery代码:

 代码如下 复制代码
$("p").parent().css("background", "green");//

这样一来三个p的父元素div的背景色都会变成绿色

 代码如下 复制代码

<style>
div{padding:10px;margin:10px;}
</style>
<div class="demo">
 <div><p>jquery学习</p></div>
 <div class="selected"><p>jquery教程</p></div>
 <div class="selected"><p>jquery插件</p></div>
</div>
<script>$("p").parent().css("background", "green");</script>

再来给parent传入一个参数”.selected”
jquery代码:

 

 代码如下 复制代码
$("p").parent(".selected").css("background", "green");//

这样一来三个p的父元素div class为“selected”的背景色会变成绿色

时间: 2024-11-01 09:11:33

jquery parent()与parents()方法使用说明的相关文章

jquery parent和parents的区别分析_jquery

可以看出parent的取值很明确,就是当前元素的父元素:parents则是当前元素的祖先元素.下面列出例子说明: 复制代码 代码如下: <div id='div1'><div id='div2'><p></p></div><div id='div3' class='a'><p></p></div><div id='div4'><p></p></div>

jQuery遍历节点-find()方法使用说明

find(selector) 此方法用于在匹配元素的后代元素中按照选择器表达式进行筛选. 记住:使用此方法必须得传入选择器表达式参数,不然是获取不到任何元素的,也就失去了使用此方法的意义了. 我最近才想明白,利用jquery方法如何找到一个元素中的所有的后代元素.使用这个.find()方法就可以轻松地做到. 来看例子:  代码如下 复制代码 <div id="level_one">     我是最外一层的div纯文本内容     <div>         我是

jquery遍历之parent()和parents()的区别及parentsUntil()方法详解_jquery

.parent(selector) 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选). .parents(selector) 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选). 如果给定一个表示 DOM 元素集合的 jQuery 对象,.parents() 方法允许我们在 DOM 树中搜索这些元素的祖先元素,并用从最近的父元素向上的顺序排列的匹配元素构造一个新的 jQuery 对象.元素是按照从最近的父元素向外的顺序被返回的..parents() 和 .parent()

jQuery遍历节点-closest()方法使用详解

closest() 此方法获取第一个相匹配的祖先元素,注意:起始点包括自身元素. 另外这个方法是必须要传入一个选择器表达式参数的,如果不传入参数的话,就会返回一个空的jquery对象. 要注意这个方法和jquery中的parents()方法的区别. 下面来看实例:  代码如下 复制代码 <div class="demo">梦三秋博客     <ul>         <li>第一个li</li>         <li class=

jQuery中parents()方法用法实例_jquery

本文实例讲述了jQuery中parents()方法用法.分享给大家供大家参考.具体分析如下: 此方法取得一个包含着所有匹配元素的父辈元素的元素集合. 所取得的父辈元素集合也可以使用表达式进行筛选. 语法结构: 复制代码 代码如下: $(selector).parents(expr) 参数列表: 参数 描述 expr 可选.用于筛选父辈元素的表达式. 实例代码: 实例一: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta

Jquery中find()方法使用说明

先看一个实例:搜索所有段落中的后代 span 元素,并将其颜色设置为红色.代码如下:  代码如下 复制代码 <p><span>Hello</span>, how are you?</p> <p>Me? I'm <span>good</span>.</p> <script> $("p").find("span").css('color','red'); <

JQuery 的跨域方法

JQuery 的跨域方法 可跨新浪.腾讯.经网等任意网站 因发现有不少博友发园内短信问及JS的跨域问题,我想很多程序员的脑海里面还认为JS是不能跨域的,其实这是一个错误的观点:有很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简单的,如果你用JQUERY,一个GETJSON方法就搞定了,而且是一行代码搞定. 下面开始贴出方法.      //跨域(可跨所有域名)        $.getJSON("http://user.hnce.com.cn/getregi

jquery sortable的拖动方法示例详解

 本文以示例的方式为大家介绍下jquery sortable的拖动方法的具体实现,感兴趣的朋友可以参考下 所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象  ui.helper - 表示sortable元素的JQuery对象,通常是当前元素的克隆对象  ui.position - 表示相对当前对象,鼠标的坐标值对象{top,left}  ui.offset - 表示相对于当前页面,鼠标的坐标值对象{top,left}  ui.item - 表示当前

jquery操作 iframe的方法_jquery

我们先看一下 JQUERY中的对像 contents() 的帮助文件 contents() 概述 查找匹配元素内部所有的子节点(包括文本节点).如果元素是一个iframe,则查找文档内容 示例 描述: 查找所有文本节点并加粗 HTML 复制代码 代码如下: <p>Hello <a href="John">http://ejohn.org/">John</a>, how are you doing?</p> jQuery 复