js选择元素

第二章 选择元素


  1. 基本选择器

    • 通用选择器     $(‘*’)
    • ID选择器     $(‘#ID’)
    • Class选择器     $(‘.class’)
    • 元素选择器     $(‘div.class’)
    表2.1 简单的CSS选择器

    例 子描 述
    *匹配页面所有元素
    #special-id匹配ID为special-id的元素
    .special-class匹配样式为special-class的元素
    a匹配a标签
    a.special-class匹配所有样式为special-class的a标签
    .class.special-class匹配使用了样式class和special-class的元素

  2. 根据层级查找元素

    表2.2 jQuery支持的CSS层次选择器

    选 择 器描 述
    E    F匹配标签名为F,且属于E的子元素的所有元素
    E > F匹配标签名为F,且属于E的直接子元素的所有元素
    E + F匹配标签名为F,且在紧邻同级元素E之前
    E ~ F匹配标签名为F,且在任意的同级元素E之前

  3. 通过属性选择元素

    表2.2 jQuery支持的CSS层次选择器

    选 择 器描 述
    E[A]2
    E[A ^= ‘V’]2
    E[A $= ‘V’]2
    E[A *= ‘V’]2
    E[A |= ‘V’]2
    E[A ~= ‘V’]2
    E[C1][C2]2

  4. 过滤器

    • 位置过滤器
    • 子过滤器
    • 表单过滤器
    • 内容过滤器
    • 其他过滤器
    • 自定义过滤器
  5. 列表内容

    使用上下文增强性能

### 如何使用 JavaScript 选择元素 在 JavaScript 中,可以通过多种方法来选择 DOM 元素的子元素。以下是几种常见的方法及其具体实现方式: #### 使用 `children` 属性 `children` 属性返回指定父节点下的所有子元素集合(HTMLCollection)。它只包含该父节点内的 HTML 元素节点,而不包括文本节点或注释节点。 ```javascript const parentElement = document.querySelector('.parent-class'); const childElements = parentElement.children; console.log(childElements); // 输出所有的子元素 ``` 此方法适用于获取特定父级元素的所有直接子元素[^1]。 #### 使用 `querySelector` 和 `querySelectorAll` 通过 CSS 选择器语法可以精确地定位目标子元素。如果只需要找到第一个匹配的子元素,则可以用 `querySelector`; 如果要获得所有符合条件的子元素列表,则应采用 `querySelectorAll`. ```javascript // 获取第一个满足条件的子元素 let firstChild = document.querySelector('#parentId > .child-class'); // 或者获取全部符合条件的孩子们 let allChildren = Array.from(document.querySelectorAll('#parentId > div')); allChildren.forEach((item) => { console.log(item); }); ``` 上述例子展示了如何利用嵌套关系以及标签名或者类名等方式精确定位所需的子项[^2]。 #### 利用 parentNode 参考反向操作 有时我们可能已经拥有了某个子节点实例,并想要追溯其上级容器再进一步探索其他兄弟姐妹成员等情况时非常有用。 ```javascript var currentElm = document.getElementById('someId'); var itsParentNode = currentElm.parentNode; // Now you can work with the siblings of 'currentElm' for(var i=0;i<itsParentNode.childNodes.length;i++) { var sibling = itsParentNode.childNodes[i]; } ``` 这里演示了先得到当前元素的父亲节点之后遍历他的孩子节点的过程[^3]。 #### 结合 Vue.js 的场景应用 当处于像 Vue 这样的框架环境中开发项目时,除了原生 JS 提供的选择手段外还可以借助模板引擎内置的功能完成更复杂的交互逻辑处理比如动态绑定数据源给下拉菜单控件(el-select),并通过监听事件捕获用户输入变化后的反馈信息等等[^4][^5]. 综上所述,在实际编码过程中可以根据具体情况灵活选用不同的技术方案达到预期效果的同时也要注意性能优化方面的问题以免造成不必要的资源浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值