我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Javascript实现元素选择器功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Javascript实现元素选择器功能

本文实例为大家分享了Javascript实现元素选择器功能的具体代码,供大家参考,具体内容如下

什么是元素选择器?

用过jquery的开发者都知道,jquery封装了对元素的查找功能,即通过jquery的api获取页面元素的过程,该过程只需提供一个元素选择的条件字符串即可获取相应的满足条件的页面元素。元素选择器即是指通过条件字符串获取相应元素的一个工具函数。

元素选择器分为id选择器、class选择器、标签选择器以及属性选择器。

id选择器即通过元素的id唯一标识获取元素。

类选择器即通过元素的class类获取元素列表。

标签选择器即通过元素的标签名获取元素列表。

属性选择器即通过元素的属性获取元素列表。

元素选择器的实现方法可以由javascript的document对象提供的方法来完成,document对象的关于元素获取的方法有

1、getElementById

2、getElementsByClassName

3、getElementsByTagName

当然还有其它的方法可以获取页面的元素,以上三个是比较常用的获取页面元素的方法。

一个简单的元素选择器实现

function node(selector) {
    if(selector.indexOf("#")==0) {
        var dom = document.getElementById(selector.substring(1));
        FE.extend("addClass",dom,addClass);
        FE.extend("removeClass",dom,removeClass);
        FE.extend("prevNode",dom,prevNode);
        FE.extend("value",dom,value);
        FE.extend("styleSettings",dom,styleSettings);
        FE.extend("nextNode",dom,nextNode);
        return dom;
    }else if(selector.indexOf(".")==0)  {
        var doms = document.getElementsByClassName(selector.substring(1));
        var result = [];
        for(var i=0;i<doms.length;i++) {
        FE.extend("addClass",doms[i],addClass);
        FE.extend("removeClass",doms[i],removeClass);
        FE.extend("prevNode",doms[i],prevNode);
        FE.extend("value",doms[i],value);
        FE.extend("styleSettings",doms[i],styleSettings);
        FE.extend("nextNode",doms[i],nextNode);
        result.push(doms[i]);
        }
        return result;
    }else {
        var start = selector.indexOf("[");
        var end = selector.indexOf("]");
        var tagName = selector.substring(0,start);
        var attrStr = selector.substring(start+1,end);
        var attr = attrStr.split("=");
        
        var doms = document.getElementsByTagName(tagName);
        var result = [];
        for(var i=0;i<doms.length;i++) {
            var attrName = attr[0];
            var value = doms[i].getAttribute(attrName)
            if("'"+value+"'" == attr[1]) {
        FE.extend("addClass",doms[i],addClass);
        FE.extend("removeClass",doms[i],removeClass);
        FE.extend("prevNode",doms[i],prevNode);
        FE.extend("value",doms[i],value);
        FE.extend("styleSettings",doms[i],styleSettings);
        FE.extend("nextNode",doms[i],nextNode);
        result.push(doms[i]);
            }
        }
        return result;
    }
}

元素选择器实现总结

简单来说元素选择器实现了对元素获取方法的封装,每次获取页面元素时都不需要再次使用document对象提供的方法,只需使用工具函数node即可获取页面元素中满足selector条件字符串的元素,由于页面元素还具有其它的共同特性,比如修改元素的class属性的方法addClass、removeClass,修改和获取style属性的方法styleSettings,修改和获取元素属性的方法value,以及获取当前元素的上一个元素和下一个元素的方法prevNode、nextNode等。

这些方法可以通过一个扩展对象的类方法extend绑定到相应的元素上,不需要再次调用或者写相应的代码去获取或者修改,extend类方法允许扩展任意对象的任意属性,在javascript中一切变量都可以看作一个对象,除了简单的基本类型的变量外,我们可以使用像这样的代码来获取和修改对象的属性

var o = {name:"fe_spiderman",username:"路爷交欢"}
 

o.name
 

o[“name”]

javascript的这种支持极大的丰富了对象的可扩展性,想象一下不用去继承和封装相应的接口来维护代码的可读性带来的乐趣。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Javascript实现元素选择器功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Javascript如何实现元素选择器功能

本篇内容介绍了“Javascript如何实现元素选择器功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是元素选择器?用过jquery的
2023-07-02

vue怎么实现拖拽元素功能

这篇“vue怎么实现拖拽元素功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现拖拽元素功能”文章吧。示例代码如
2023-07-04

Android怎么实现年月选择器功能

这篇文章给大家分享的是有关Android怎么实现年月选择器功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、效果图二、实现步骤:1、依赖库implementation cn.aigestudio.wheelp
2023-06-14

CSS ::before伪元素选择器的应用及实现效果

CSS ::before伪元素选择器的应用及实现效果CSS ::before伪元素选择器是CSS中一种常用的伪类选择器,它可以在元素的内容前插入一个虚拟的元素,并可以通过CSS样式来进行装饰和美化。在本文中,我们将介绍::before伪元素
CSS ::before伪元素选择器的应用及实现效果
2023-11-20

ElementUI年份范围选择器功能实现

elementUI中有日期范围组件,月份范围选择的,就是没有年份范围选择的,需要加一个类似风格的,下面这篇文章主要给大家介绍了关于ElementUI年份范围选择器功能实现的相关资料,需要的朋友可以参考下
2023-02-10

javascript实现点击全选功能

在网页设计和开发中,常常需要选中多个复选框或条目。手动选中每个复选框或条目是一件非常费时费力的事情,特别是当选项数量很多时。为了解决这个问题,开发人员可以添加一个“点击全选”按钮,以便用户可以轻松地选中所有选项。在本文中,我们将探讨如何使用JavaScript实现点击全选功能。首先,我们需要一个HTML表单,其中包含多个复选框。我们可以使用以下代码创建一个示例表单:```htm
2023-05-21

JavaScript如何实现全选功能

本篇内容介绍了“JavaScript如何实现全选功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实现全选的原理在学习如何实现全选功能之前,
2023-07-06

实现CSS ::placeholder伪元素选择器的多种应用场景

实现CSS ::placeholder伪元素选择器的多种应用场景,需要具体代码示例在Web开发中,CSS是一种常用的样式表语言,用于控制网页的布局和样式。而::placeholder伪元素选择器则是CSS3新增的一种选择器,用于修改输入框(
实现CSS ::placeholder伪元素选择器的多种应用场景
2023-11-20

实现CSS ::after伪元素选择器的各种应用场景

实现CSS ::after伪元素选择器的各种应用场景,需要具体代码示例CSS的::after伪元素选择器是一种非常有用的技术,它可以在选定元素的内容之后插入新的内容。这个伪元素选择器可以用于很多场景,包括但不限于以下几个方面:添加内容和样式
实现CSS ::after伪元素选择器的各种应用场景
2023-11-20

JavaScript怎么实现复选框全选功能

这篇文章主要介绍了JavaScript怎么实现复选框全选功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下代码:
2023-06-14

AndroidFlutter实现兴趣标签选择功能

我们在首次使用内容类App的时候,不少都会让我们选择个人偏好,通过这些标签选择可以预先知道用户的偏好信息。我们本篇就来看看Flutter如何实现兴趣标签的选择,需要的可以参考一下
2022-11-13

编程热搜

目录