博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js dom学习
阅读量:7211 次
发布时间:2019-06-29

本文共 2527 字,大约阅读时间需要 8 分钟。

创建dom元素

var oLi = document.creteElement('li'); //创建li

var aLi = oUl.getElementsByTagName('li');
oLi.innerHTML = oTxt.value
oUl.appendChild(oLi)

父节点.insertBefore(子节点,谁之前)

oUl.insertBefore(oLi,aLi[0]) 如果一个都没有就会出错

if(aLi.length==0)

{

oUl.appendChild(oLi)
}else{
oUl.insertBefore(oLi,aLi[0])
}
window.onload = function()
{
var oUl = document.getElementById("ul1");
var aLi = oUl.getElementsByTagName('li');
var oBtn = document.getElementById('btn1');
var oTxt = document.getElementById('txt');
oBtn.onclick = function()
{
var oLi = document.createElement('li');
oLi.innerHTML = oTxt.value;
if(aLi.length>0)
{
oUl.insertBefore(oLi,aLi[0]);
}else{
oUl.appendChild(oLi);
}
}
}
删除 removeChild(子节点)

oUl.remove(this.parentNode)

<script>
window.onload = function()
{
var oUl = document.getElementById("ul1");
var aLi = oUl.getElementsByTagName('li');
var oA = oUl.getElementsByTagName('a');
for(var i=0;i<oA.length;i++)
{
oA[i].onclick = function(){
oUl.removeChild(this.parentNode)
}
}

}

</script>

文档碎片,提高文档效率的(理论上)

new Date().getTime();

时间戳

createDocumentFragment

实际上还不如之前的那种

dom1 dom2

火狐是最标准

dom的childNodes 是会包含txt文本节点

nodeType 节点类型 配合使用

3 文本节点
1 元素节点 标签节点

<script>

window.onload = function(){
var oUl = document.getElementById('ul1');
for(var i=0;i<oUl.childNodes.length;i++)
{

if(oUl.childNodes[i].nodeType == 1)

{
oUl.childNodes[i].style.background = "red"
}
}
}
</script>

children 兼容版本的childNodes

<script>
window.onload = function(){
var oUl = document.getElementById('ul1');
for(var i=0;i<oUl.children.length;i++)
{

oUl.children[i].style.background = "red"

}
}
</script>
父节点
parentNode
<script>
window.onload = function(){
var oA = document.getElementsByTagName('a');
for(var i=0;i<oA.length;i++)
{
oA[i].onclick = function(){
this.parentNode.style.display="none";
}
}
}
</script>
offsetParent 定位的父集

firstChild 火狐下用

firstElementChild

lastChild

var oFirst = oUl.firstElementChild || oUl.firstChild

兄弟节点

nextSibling nextElementSibling
prviousSibling

操作元素属性:

通过id操作 document.getElementById

dom方式操作

otxt.setAttribute('value',"22");
getAttribute('id')
removeAttribute

用className 选择元素

document.getElementsByClassName
var getElementsByClass = function(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;

 

转载地址:http://ofrum.baihongyu.com/

你可能感兴趣的文章
Jmeter3.1官方自带的HTML图形测试报告 + 汉化
查看>>
文件共享存储&&主备实时热备实现方案
查看>>
一文看懂迁移学习:怎样用预训练模型搞定深度学习?
查看>>
Elasticsearch 5.3 集群搭建
查看>>
linux基础命令练习1
查看>>
【MySQL】【高可用】从masterha_master_switch工具简单分析MHA的切换逻辑
查看>>
xargs 和 exec详解
查看>>
ipmi对于统一硬件管理的意义
查看>>
SQL数据库高级查询命令(3)
查看>>
Ansible-playbook 拾遗
查看>>
以DES的方式实现对称加密,并提供密钥
查看>>
latex/Xelatex书籍排版总结---顺便附上一本排好的6寸android书…
查看>>
shell变量定义
查看>>
SSH远程登录VWware上的LFS
查看>>
互联生活:业务模式聚焦
查看>>
ELK采集之nginx 日志高德地图出城市IP分布图
查看>>
epson me 1+只有主机能打印不能共享网络打印问题的处理
查看>>
即时通讯开发----回音消除技术
查看>>
Windows Phone 7 定义和使用字典资源(ResourceDictionary)
查看>>
【VMware中搭建iOS开发环境的引导工具】
查看>>