博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《jQuery Cookbook中文版》——1.9 根据当前上下文遍历DOM获得新的DOM元素集
阅读量:6092 次
发布时间:2019-06-20

本文共 1304 字,大约阅读时间需要 4 分钟。

本节书摘来自异步社区《jQuery Cookbook中文版》一书中的第1章,第1.9节,作者:【美】jQuery社区专家组著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.9 根据当前上下文遍历DOM获得新的DOM元素集

1.9.1 问题

你已经选择了一组DOM元素,根据选择集在DOM结构树中的位置,你打算遍历DOM获得一个新的元素集以供操作。

1.9.2 解决方案

jQuery提供一组方法,可以根据当前选择的DOM元素的上下文遍历DOM。

例如,查看如下的HTML片段:

现在,用:eq()索引自定义选择器选择第2个< li>元素:

//根据索引选择
  • 集合中的第2个元素,索引从0开始jQuery('li:eq(1)');
  • 现在有一个上下文——HTML结构中的一个出发点。出发点是第2个< li>元素。从这里开始,可以到达任何位置——对,几乎任何位置。

    让我们来看看,使用几个jQuery提供的DOM遍历方法能够到达哪里。代码中的注释就能说明问题:

    jQuery('li:eq(1)').next() //选择第三个
  • jQuery('li:eq(1)').prev() //选择第一个
  • jQuery('li:eq(1)').parent() //选择
      jQuery('li:eq(1)').parent().children() //选择所有
    • jQuery('li:eq(1)').nextAll() //选择第二个
    • 之后的所有
    • jQuery('li:eq(1)').prevAll() //选择第二个
    • 之前的所有
  • 记住,这些遍历方法产生新的包装器集,使用end()可以返回前一个包装器集。

    1.9.3 讨论

    目前为止介绍的遍历方法展示了简单遍历。要了解遍历,还必须知道另外两个重要的概念。

    第一个概念可能显而易见——遍历方法可以链接。我们再来看看前面出现过的jQuery语句:

    jQuery('li:eq(1)').parent().children() //选择所有<li>

    注意,我已经从第二个< li>元素遍历到父元素< ui>,然后再从父元素选择< ui>的所有子元素。jQuery包装器集现在包含的是< ui>中的所有< li>元素。当然,这只是为了说明遍历方法而设计的例子。如果我们想要的是一个只有< li>元素的包装器集,从一开始就选择所有< li>元素要简单得多(例如,jQuery('li'))。

    处理遍历方法时需要牢记的第二个概念是许多方法都接受一个可选的参数,用于过滤选择集。我们仍然用链接的示例来说明这一点,看看如何修改代码,以便只选择最后一个< li>元素。别忘了,这个例子仅仅用来说明遍历方法如何传递用于选择特定元素的表达式:

    jQuery('li:eq(1)').parent().children(':last') //选择最后一个 <li>

    转载地址:http://ucqwa.baihongyu.com/

    你可能感兴趣的文章
    Debian 的 preinst, postinst, prerm, 和 postrm 脚本
    查看>>
    socket编程的select模型
    查看>>
    IDEA和Eclipse经常使用快捷键(Win Mac)
    查看>>
    ubutntu apt 源
    查看>>
    PHP 文件处理
    查看>>
    cesium之核心类Viewer简介篇
    查看>>
    ALSA声卡驱动中的DAPM详解之六:精髓所在,牵一发而动全身
    查看>>
    libev与libuv的区别
    查看>>
    iOS 为什么使用xcode8上传app包到appStore无法构建版本
    查看>>
    Tomcat优化步骤【转】
    查看>>
    CRC 自动判断大端 小端
    查看>>
    原来这样可以轻松恢复回收站删除文件
    查看>>
    DisparityCostVolumeEstimator.cpp
    查看>>
    (转)git中关于fetch的使用
    查看>>
    mongo DB for C#
    查看>>
    caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
    查看>>
    git只拉取github部分代码的方法
    查看>>
    [LeetCode] Construct Quad Tree 建立四叉树
    查看>>
    如何避免SHRINKDATABASE & SHRINKFILE 产生索引碎片(转载)
    查看>>
    【SSH网上商城项目实战02】基本增删查改、Service和Action的抽取以及使用注解替换xml...
    查看>>