siblings([selected])   

   简介:

给定一个表示一组DOM元素的jQuery对象,该.siblings()方法允许我们在DOM树中搜索这些元素的兄弟节点,并从匹配的元素构造一个新的jQuery对象。

该方法可选地接受与我们可以传递给$()函数的相同类型的选择器表达式。如果提供了选择器,元素将通过测试是否匹配。

考虑一个有简单列表的页面:

<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>

执行下面一段代码:

$( "li.third-item" ).siblings().css( "background-color", "red" );

此时浏览器会把除了三号之外其余所有标签背景色都设置成红色,而sivlings()相当于筛选器 ,在获取的这些数组元素中在做一次条件筛选,并返回满足条件的JQuery对象,这里注意是JQuery对象,如果选择器中并未设置任何筛选条件那么他将会返回所有同级元素,为了方便理解下面插入一段另外一位大神的demo:

<p id="n1">
<span id="n2">
<span id="n3">A</span>
</span>
<label id="n4">B</label>
<span id="n5">
<span id="n6">C</span>
</span>
<strong id="n7" class="active">D</strong>
<span id="n8" class="active">E</span>
</p>
<p id="n9">
<span id="n10"></span>
<label id="n11"></label>
<span id="n12" class="active"></span>
</p>

JS部分如下:

//返回jQuery对象所有匹配元素的标识信息数组
//每个元素形如:#id
function getTagsInfo($doms){
return $doms.map(function(){
return "#" + this.id;
}).get();
} var $n4 = $("#n4"); //匹配n4的所有同辈元素(同辈元素不会包括n4自己,下同)
var $elements = $n4.siblings( );
document.writeln( getTagsInfo( $elements ) ); // #n2,#n5,#n7,#n8 //匹配n4所有的同辈span元素
var $matches = $n4.siblings("span");
document.writeln( getTagsInfo( $matches ) ); // #n2,#n5,#n8 var $label = $("label");
//匹配所有label元素的含有类名"active"的同辈元素
var $actives = $label.siblings(".active");
document.writeln( getTagsInfo( $actives ) ); // #n7,#n8,#n12

最新文章

  1. JMS消息中间件系列[ActiveMQ](一)
  2. 自己写的表格插件autotable
  3. Status Bar in iOS7
  4. 【39】明智而审慎第使用private继承
  5. java17 线程的方法
  6. [转]JavaScript 的同源策略
  7. iOS: 学习笔记, 用代码驱动自动布局实例
  8. 【解决办法】糟糕,我的电脑只有IE64位浏览器能上网,其他软件都上不了网
  9. Hostker云主机
  10. 写入Log错误日志
  11. vue2.0环境安装
  12. leetcode1018
  13. LDO current regulator for power LED
  14. python 生成图表
  15. 关于WSDL的理解
  16. Pyhon 日志管理 -- logging
  17. save与Update的合并操作 标签: 关系映射 2017-07-13 15:11 7人阅读 评论(0) 收藏
  18. 转:苹果Xcode帮助文档阅读指南
  19. MySQL触发器的正确使用与案例分析
  20. maven下载与配置环境变量

热门文章

  1. 创建包含CRUD操作的Web API接口5:实现Delete方法
  2. 用lua求两个数组的交集、并集和补集。
  3. Angular—入门环境,项目创建,导入项目
  4. XXL-JOB使用命令行的方式启动python时,日志过多导致阻塞的解决方式
  5. 2019 巨人网络java面试笔试题 (含面试题解析)
  6. IDEA自动清理优化import包
  7. 【Java基础】- Java学习路线图
  8. 【开发笔记】- 转义html特殊字符
  9. Linux E667 同步失败
  10. C#与.net 入门