jQuery中兄弟元素、子元素和父元素的获取

摘要:
1234567˃td˃89</table˃d1_1_1在d1_1_2$中。单击查找选择器:深度搜索优先级策略用于检索。从上图中,我们可以看到find()首先找到第一个。item元素,然后开始检索子元素。s检索项目中的子元素后,开始搜索第二个。item元素,然后在第二个元素中检索子元素。项目第二次之后。项目检索完成,开始第三个。

parent,parents,children,prev,prevAll,next,nextAll,siblings,find

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Javascript/jquery-1.12.3.min.js" type="text/javascript"></script>

<style type="text/css">
    
    #d1{ width:500px; height:300px; background-color:Gray;}
    #d1_1,#d1_2,#d1_3{ width:300px; height:50px; background-color:Green;}
    #d1_1_1{ width:150px; height:15px; background-color:Lime;}
    #d1_1_2{ width:150px; height:15px; background-color:Lime;}
    #s_1{ display:block; width:150px; height:10px; background-color:Red; padding:2px;}
</style>

</head>
<body>

<table>
  <tr id="t1"><td id="td1"><span id="qq">!</span>1</td><td>2</td><td>3</td></tr>
  <tr><td>4</td><td>5</td><td>6</td></tr>
  <tr><td>7</td><td>8</td><td>9</td></tr>
</table>

<div id="d1">
   <div id="d1_1">
     
     <div id="d1_1_1">d1_1_1</div>
     <span id="s_1"><div style=" 50px; height:5px; background-color:Lime; ">in</div></span>
     <div id="d1_1_2">d1_1_2</div>
   </div>
   <div id="d1_2"></div>
   <div id="d1_3"></div>
</div>

<input type="button" id="btn" value="123456" />

<script type="text/javascript">

    $("#btn").click(function () {
        //parent(selector):查找父元素,可传入selector进行过滤
        $("#qq").parent().css("background-color", "black");
        $("#qq").parent().parent().remove();
        $("#qq").parent("td").css("background-color", "black");

        //parents(selector): 查找所有的祖先节点
        $("#qq").parents("tr").css("background-color", "black");

        //children(selector):返回所有的子节点,不过该方法只会返回直接的子节点,不会返回所有的子孙节点
        $("#t1").children().css("background-color", "black");

        //prev():返回该节点的上一个兄弟节点,就是前面一个元素 (同级的子节点--同胞)
        $("#d1_1_2").prev().css("background-color", "black");

        //prevAll():返回该节点之前所有的节点 (同级的子节点--同胞)
        $("#d1_1_2").prevAll().css("background-color", "black");

        //next():返回该节点的下一个兄弟节点
        $("#d1_1_1").next().css("background-color", "black");

        //nextAll():返回该节点之后所有的节点
        $("#d1_1_1").nextAll().css("background-color", "black");

        //siblings():返回该节点所有的兄弟节点,不分前后
        $("#s_1").siblings().css("background-color", "black");

        //find(selector):返回该节点所有的子孙节点
        $("#d1_1").find("div").css("background-color", "black");
        
        $("#d1_1").find("div").each(function () {
            alert($(this).html());
        })
        


    })
  
  
</script>

</body>
</html>

find选择器:采用的是深度搜索优先的策略进行检索

jQuery中兄弟元素、子元素和父元素的获取第1张

从上面的图中我们可以看到,find()先找到第一个.item元素,然后开始检索.item里的子元素.s;.item里的子元素检索完成以后,开始寻找第二个.item元素,然后接着检索第二个.item里的子元素;第二个.item检索完成后,开始进行第三个。深度优先的策略就是:先闷头一直往下找,下一个没有元素时再确认是否有next()兄弟元素,如果没有兄弟元素,那么再往上返回一级,确认这个元素有没有兄弟元素,直到第一级的子元素;如果当前元素有兄弟元素,那么就从这个兄弟元素开始往下执行深度搜索。待所有的子元素检索完毕后,find()方法结束。

from:https://www.cnblogs.com/xumengxuan/p/4217866.html

免责声明:文章转载自《jQuery中兄弟元素、子元素和父元素的获取》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇NodeJS异步、同步 创建多层文件夹day9-Python学习笔记(二十二)多线程,多进程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JQuery元素滚动定位及获取元素的scrollTop,clientHeight,scrollHeight

scrollHeight为滚动DIV的实际总体高度,获取方式为:$(obj)[0].scrollHeight clientHeight为滚动DIV的可见高度,获取方式为:$(obj)[0].clientHeight scrollTop为滚动DIV被卷去的上端高度,获取方式为:$(obj).scrollTop offset为元素的偏移量,获取方式为:$(o...

使用HTML5和jQuery插件Reel实现一个超酷的星际争霸2兵种动画360度预览效果

今天继续给大家介绍HTML5和jQuery插件结合使用生成的图形特效,这里我继续使用星际争霸2的图片元素给大家介绍一个360度全景预览兵种的特效实现,希望大家喜欢!请大家多多留言! 在线演示在线下载 友情提示:以上演示中图片使用较大,如果加载不流畅,请下载到本地运行。 如果你不清楚什么是360度全景预览或者不明白Reel是什么插件的话,请参考这篇文章:分...

JavaScript与jquery的对比

  javascript jQuery 入口函数 只能有一个,如果有多个,后面的会覆盖前面 可以有多个,并且不会发生覆盖的情况 代码容错性 代码容错性差,代码出现错误,会影响到后面代码的运行。 代码容错性好,屏蔽错误,并且不会影响后面代码的运行 浏览器兼容性 兼容性差,比如火狐不支持innerText 对浏览器兼容性做了封装,因此不存在兼...

Jquery-获取同级标签prev,prevAll,next,nextAll

1、next([expr]): 获取指定元素的下一个同级元素(注意是下一个同级元素哦) 参数可有可无,参数设定遵循jquery选择器规则 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="/jquery/jquery.js"...

第二百二十七节,jQuery EasyUI,ComboTree(树型下拉框)组件

jQuery EasyUI,ComboTree(树型下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解EasyUI中ComboTree(树型下拉框)组件的使用方法,这个组件依赖于Combo(下拉框) 和 Tree(树)组件。 一.加载方式 class 加载方式 <select id="cc"class="easy...

jQuery和原生JS的对比

原生JS的缺点: 不能添加多个入口函数(window.onload),如果添加了多个,后面的会把前面的覆盖掉 原生js的api名字太长,难以书写,不易记住 原生js有的代码冗余 原生js中的属性或者方法有些浏览器无法兼容 原生js容错率比较低,前面的代码出现问题,后面的代码执行不到 jQuery的优点: 可以写多个入口函数 jQuery的api名字容...