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 判断浏览器类型及版本
Feb 21 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
Jun 27 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
js图片向右一张张滚动效果实例代码
Nov 23 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
Sep 22 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
Nov 05 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
Aug 03 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
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
初识Laravel
2014/10/30 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
js查错流程归纳
2012/05/04 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
python游戏开发的五个案例分享
2020/03/09 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
乔丹诺(Giordano)酒庄德国官网:找到最好的意大利葡萄酒
2017/12/28 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
咨询公司各岗位职责
2013/12/02 职场文书
药品采购员岗位职责
2014/02/08 职场文书
家长会主持词开场白
2014/03/18 职场文书
新党章的学习心得体会
2014/11/07 职场文书
幼儿教师远程研修感悟
2015/11/18 职场文书
人生感悟经典句子
2019/08/20 职场文书
python的变量和简单数字类型详解
2021/09/15 Python