欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS选取DOM元素常见操作方法实例分析

程序员文章站 2022-06-22 16:28:39
本文实例讲述了js选取dom元素常见操作方法。分享给大家供大家参考,具体如下: js选取dom元素的方法 注意:原生js选取dom元素比使用jquery类库选取要快很多...

本文实例讲述了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操作dom技巧总结》、《javascript页面元素操作技巧总结》、《javascript事件相关操作与技巧大全》、《javascript查找算法技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript错误与调试技巧总结

希望本文所述对大家javascript程序设计有所帮助。