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 blockUI 遮罩不能消失与不能提交的解决方法
Sep 17 Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 Javascript
原生JS和jQuery版实现文件上传功能
Apr 18 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
VueJS全面解析
Nov 10 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
May 14 Javascript
Vue 实现输入框新增搜索历史记录功能
Oct 15 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
Jul 21 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
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
php反射应用示例
2014/02/25 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php图像处理类实例
2015/07/28 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
微信小程序如何实现在线客服功能
2019/10/16 Javascript
[03:00]《DAC最前线》之欧美新秀VS老将
2015/02/01 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
python的dict,set,list,tuple应用详解
2014/07/24 Python
Python字典简介以及用法详解
2016/11/15 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
车间安全生产标语
2014/06/06 职场文书
三孔导游词
2015/02/05 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
后天观后感
2015/06/08 职场文书
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle