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 相关文章推荐
js左侧多级菜单动态的解决方案
Feb 01 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
Jan 03 Javascript
JS常用表单验证方法总结
May 22 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
jQuery实现垂直半透明手风琴特效代码分享
Aug 21 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
Jun 23 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
layui 富文本编辑器和textarea值的相互传递方法
Sep 18 Javascript
Node.js fs模块原理及常见用途
Oct 22 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中全局变量global的使用演示代码
2011/05/18 PHP
php中的三元运算符使用说明
2011/07/03 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php防止sql注入代码实例
2013/12/18 PHP
thinkphp分页实现效果
2016/10/13 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
python开发入门——set的使用
2020/09/03 Python
CSS3 3D旋转rotate效果实例介绍
2016/05/03 HTML / CSS
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
法人委托书范本
2014/09/15 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
党建工作整改措施
2014/10/28 职场文书
市场营销计划书范文
2015/01/16 职场文书
计划生育责任书
2015/05/09 职场文书
MySQL 开窗函数
2022/02/15 MySQL
tree shaking对打包体积优化及作用
2022/07/07 Java/Android