DOM是文档对象模型 Document object Model 我们可以通过DOM动态改变文档内容。 动态改变文档内容的原理 解析文档(如HTML)并生成树 通过DOm标准接口+编程语言改变文档内容
获取标签,通过标签的onclick进行函数操作。
访问节点的方法 4个:–
查看/修改属性节点 getAttribute(“属性名”) setAttribute(“属性名”,“属性值”)
创建和增加节点的方法 createElement();创建节点 appendChile();末尾追加式插入节点 inserBefore();在指定节点前插入节点 cloneNode();克隆节点
如果编程的时候希望访问某个元素的父元素,但又不知道父元素的id,name,class该怎么办? 可以根据层次关系查找节点 -parentNode -firstChild -lastChild -cells 在使用firstChild和lastChild时我们要注意我们的文本节点都会找到。
我们使用的firstElementChild。。就可以避免上面情况。
chileNode节点 获得所有的节点(也有空格) children。//所有的元素节点。
层次节点属性 childNodes 获取当前元素节点的所有子节点 firstChild 获取当前元素节点的第一个子节点 lastChild 获取当前元素节点的最后一个子节点 ownDocument 获取该节点的文档根节点,相当与docunmet parentNode 获取当前节点的父节点 previousSibling 获取当前节点的前一个同一级节点 nextSibling 获取当前节点的后一个同级节点 attributes 获取当前元素节点的所有属性节点集合。
<script> var btn=document.getElementsByTagName("button"); var ul=document.getElementById("ulk"); // var num=0; // 点击显示 再点击隐藏 btn[0].onclick = function(){ /* if(num%2==0){ ul.style.display="block"; }else{ ul.style.display="none"; } num++; */ join("ds","dsf","dsafdaf"); } function join(){ var arg=arguments; for(var i=0; i<arg.length;i++){ ul.innerHTML += "<li>"+arg[i]+"</li>" } } // var img=document.getElementsByTagName("img"); // img[0].setAttribute("src","../../imgs/link-icon1.png") // 1.设置setAttribute 取值getAttribute // 2.创建元素------ // 3.在页面插入 node.appendChild 插入node的最后面。 // 4.克隆 node.cloneNode() 克隆布尔类型。 // 5. parenNode.insertBefore(newNode,referenceNode) newNode 要插入的节点,referenceNode参考节点(该节点前插入) // parenNode:父节点,参考节点的父节点,必须要有。 // 6. parenNode.removeChild() 删除子节点。 // 7.parenNode.replaceChild() 替换子节点。 var box=document.getElementById("box"); function newnode(){ var iamg=document.createElement("img"); // 创建成功后就是游离元素 iamg.setAttribute("src","../../imgs/link-icon1.png"); box.appendChild(iamg); } // 克隆一张 function copyImg(){ var iamg=document.createElement("img"); // 里面默认是false,只克隆框。 // true的话,还复制里面的所有内容 var copyImg=iamg.cloneNode(); box.appendChild(iamg); } newnode(); // 删除 function remove(){ // 删除子节点(都支持) document.body.removeChild(); // 删除节点 document.body.remove(); } // 替换 function replace(){ document.body.replaceChild(); } </script>补充:单行显示,多余的东西显示省略号。
.meslist{ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }