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 相关文章推荐
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
javascript prototype,executing,context,closure
Dec 24 Javascript
Javascript 八进制转义字符(8进制)
Apr 08 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
Jul 31 Javascript
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
Javascript中的匿名函数与封装介绍
Mar 15 Javascript
原生js实现class的添加和删除简单代码
Jul 12 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
Jul 28 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 Javascript
js实现淘宝首页的banner栏效果
Nov 26 Javascript
JavaScript实例 ODO List分析
Jan 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中CI操作多个数据库的代码
2012/07/05 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
python openpyxl使用方法详解
2019/07/18 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
教师自荐信
2013/12/10 职场文书
英语自荐信范文
2013/12/11 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
我的画教学反思
2014/04/28 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
学生会招新宣传语
2015/07/13 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
Vue实现tab导航栏并支持左右滑动功能
2021/06/28 Vue.js
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python