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 相关文章推荐
jquery怎样实现ajax联动框(一)
Mar 08 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
Sep 05 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
Feb 25 Javascript
javascript框架设计之浏览器的嗅探和特征侦测
Jun 23 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
Aug 29 Javascript
使用JavaScript为一张图片设置备选路径的方法
Jan 04 Javascript
jquery做个日期选择适用于手机端示例
Jan 10 Javascript
javascript常用经典算法详解
Jan 11 Javascript
微信小程序 scroll-view实现上拉加载与下拉刷新的实例
Jan 21 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
详解webpack import()动态加载模块踩坑
Jul 17 Javascript
微信小程序分享海报生成的实现方法
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
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
js字符编码函数区别分析
2011/12/28 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
python3使用pyqt5制作一个超简单浏览器的实例
2017/10/19 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
《珍珠泉》教学反思
2014/02/20 职场文书
质量承诺书范文
2014/03/27 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
教学改革实施方案
2014/03/31 职场文书
园艺师求职信
2014/04/27 职场文书
敬老院活动总结
2014/04/28 职场文书
金融管理专业求职信
2014/07/10 职场文书
孝女彩金观后感
2015/06/10 职场文书
简爱读书笔记
2015/06/26 职场文书
2015小学教育教学工作总结
2015/07/21 职场文书
js之ajax文件上传
2021/05/13 Javascript