javascript高级程序设计
原创
©著作权归作者所有:来自51CTO博客作者java硕哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
<script>
/* 功能说明:
在所有class为required的input框后面加上红星号
使用到的javascript的方法:
createElement、createTextNode、 setAttribute、appendChild 、cloneNode(true)、insertBefore
属性:parentNode 、className、style
//生成一个节点的方法1 使用createElement、 setAttribute、appendChild
var obj = document.createElement("font");
obj.setAttribute("color","red");
obj.appendChild(document.createTextNode("*"));
*/
/*
//生成一个节点的方法2 定义<font id="redStar" style="display:none" color="red">*</font>
把
var objTemp = document.getElementById("redStar");
var obj = objTemp.cloneNode(true);
obj.style.display="";
*/
var objTemp = document.getElementById("redStar");
var obj = objTemp.cloneNode(true);
obj.style.display="";
function addStarLable(){
var inputObjs = document.getElementsByTagName("input");
for(var i=0;i<inputObjs.length;i++){
inputObjs[i].setAttribute("id","id"+i)
if((inputObjs[i].className.indexOf('required'))!=-1){
inputObjs[i].parentNode.insertBefore(obj.cloneNode(true),inputObjs[i].nextSibling);
}
}
}
addStarLable();
</script>
10 DOM
10.1 节点层次
父节点. appendChild(newNode) 在父节点的所有子节点的最后添加一个节点--newNode
父节点. insertBefore(newNode,someNode) 在父节点的某个子节点--someNode前添加一个节点--newNode