本文实例讲述了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
补充:add
和remove
方法不允许链式操作,因为返回的都是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程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 王韵婵.1993-明天【飞碟】【WAV+CUE】
- 和平之月系列PMR-0005贾鹏芳-河RIVER[WAV整轨]
- 和平之月系列PMR-0054贾鹏芳《二胡LOVERS》[WAV整轨]
- 阮兆祥.1989-我心深处【乐意】【WAV+CUE】
- 吴俊宏.2013-三吋心【豪记】【WAV+CUE】
- 陈咏桐.2024-吸引之力【地球娱乐】【FLAC分轨】
- 林家谦.2022-MEMENTO(EP)【WAV+CUE】
- 单依纯《纯情歌》1:1母盘直刻版[320K/MP3][149.14MB]
- 单依纯《纯情歌》1:1母盘直刻版[FLAC/分轨][335.02MB]
- 群星《爱情奇妙季》[320K/MP3][94.44MB]
- 白金舞曲精讯金舞池》(原版LP录转)WAV
- 群星-梦舞池1WAV分轨
- 詹雅雯.2003-想厝的人【大信唱片】【WAV+CUE】
- 慕钰华.1991-情路·同心船【福将唱片】【WAV+CUE】
- 伍思凯.2009-小伍,歌·故事的第一行【丰华】【WAV+CUE】