JS选取DOM元素常见操作方法实例分析


Posted in Javascript onDecember 10, 2018

本文实例讲述了JS选取DOM元素常见操作方法。分享给大家供大家参考,具体如下:

JS选取DOM元素的方法

注意:原生JS选取DOM元素比使用jQuery类库选取要快很多

1、通过ID选取元素

document.getElementById('myid');

2、通过CLASS选取元素

document.getElementsByClassName('myclass')[0];

3、通过标签选取元素

document.getElementsByTagName('mydiv')[0];

4、通过NAME属性选取元素(常用于表单)

document.getElementsByName('myname')[0];

JS修改CSS样式

document.getElementById('myid').style.display = 'none';

JS修改CLASS属性

document.getElementById('myid').className = 'active';

如果有多个CLASS属性,即用空格隔开

document.getElementById('myid').className = 'active div-1';

移除该元素上的所有CLASS

document.getElementById('myid').className = '';

注意:使用classList会优于使用className

document.getElementById('myid').classList.item(0);//item为类名的索引
document.getElementById('myid').classList.length;//只读属性
document.getElementById('myid').classList.add('newClass');//添加class
document.getElementById('myid').classList.remove('newClass');//移除class
document.getElementById('myid').classList.toggle('newClass');//切换,有则移除,没有则添加
document.getElementById('myid').classList.contains('newClass');//判断是否存在该class

补充:addremove方法不允许链式操作,因为返回的都是undefined,其次,也不允许同时添加或删除多个class,可以自行扩展一下

DOMTokenList.prototype.adds = function(tokens){
 tokens.split(' ').forEach(function(token){
  this.add(token);
 }).bind(this));
 return this;
};
var clList = document.body.classList;
clList.adds('a b c').toString();
//a b c

JS修改文本

document.getElementById('myid').innerHTML = '123';

JS创建元素并向其中追加文本

var newdiv = document.createElement('div');
var newtext = document.createTextNode('123');
newdiv.appendChild(newtext);
document.body.appendChild(newdiv);

同理:removeChild()移除节点,并返回节点

cloneNode()复制节点

insertBefore()插入节点(父节点内容的最前面)

注意:insertBefore()有两个参数,第一个是插入的节点,第二个是插入的位置

例子:

var list = document.getElementById('myList');
list.insertBefore(newItem,list.childNodes[1]);
//插入新节点newItem到list的第二个子节点

JS返回所有子节点对象childNodes

var mylist = document.getElementById('myid');
for(var i=0,i<mylist.childNodes.length;i++){
console.log(mylist.childNodes[i]);
}

firstChild返回第一个子节点

lastChild返回最后一个子节点

parentNode返回父节点对象

nextSibling返回下一个兄弟节点对象

previousSibling返回前一个兄弟节点对象

nodeName返回节点的HTML标记名称

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
May 07 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
微信小程序 蓝牙的实现实例代码
Jun 27 Javascript
VUE长按事件需求详解
Oct 18 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
Apr 28 Javascript
详解Vue demo实现商品列表的展示
May 07 Javascript
Vue项目中使用better-scroll实现菜单映射功能方法
Sep 11 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
微信小程序分享海报生成的实现方法
Dec 10 #Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 #jQuery
详解Angular Forms中自定义ngModel绑定值的方式
Dec 10 #Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 #jQuery
微信小程序与后台PHP交互的方法实例分析
Dec 10 #Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 #Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 #jQuery
You might like
深入理解PHP原理之Session Gc的一个小概率Notice
2011/04/12 PHP
php数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
django迁移文件migrations的实现
2020/03/31 Python
零基础小白多久能学会python
2020/06/22 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
教育课题研究自我鉴定范文
2013/12/28 职场文书
安全生产实施方案
2014/02/23 职场文书
车间主任岗位职责
2014/03/16 职场文书
珠宝店促销方案
2014/03/21 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
妈妈别哭观后感
2015/06/08 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
app场景下uniapp的扫码记录
2022/07/23 Java/Android