<meta http-equiv="content-type" content="text/html;charset=utf8" />
1.访问节点 document.getElementById(id); 返回对拥有指定id的第一个对象的引用
xxxxxxxxxx<h1 id="myHeader" onclick="getValue()">这是标题</h1>document.getElementById("myHeader")
document.getElementsByName(name); 返回带有指定名称的节点集合 注意: 是Elements,返回的是元素的数组,而不是一个元素
xxxxxxxxxx<input name="myInput" type="text" size="20" /><br />document.getElementsByName("myInput");
document.getElementsByTagName(tagname); 返回带有指定标签名的对象集合 注意:Elements,返回元素的顺序是它们在文档中的顺序。参数可以不区分大小写。
如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表。
xxxxxxxxxx<input name="myInput" type="text" size="20" />document.getElementsByTagName("input");
document.getElementsByClassName(classname); 返回带有指定class名称的对象集合 注意:Elements,在 Internet Explorer 5,6,7,8 中无效。
xxxxxxxxxx<p class="example">样式 class="example" 的 p 元素</p>document.getElementsByClassName("example");
2.生成节点 document.createElement(eName); 创建一个节点
document.createAttribute(attrName); 对某个节点创建属性
document.createTextNode(text); 创建文本节点
3.添加节点 document.insertBefore(newNode,referenceChild); 在某个节点前插入节点
parentNode.appendChild(newNode); 给某个节点添加子节点
4.复制节点 cloneNode(true | false); 复制某个节点 参数:是否复制原节点的所有属性
5.删除节点 parentNode.removeChild(node) 删除某个节点的子节点 node是要删除的节点 注意:IE会忽略节点间生成的空白文本节点(例如,换行符号),而Mozilla不会这样做。在删除指定节点的时候不会出错,但是如果要删除最后一个子结点或者是第一个子结点的时候,就会出现问题。这时候,就需要用一个函数来判断首个子结点的节点类型。 元素节点的节点类型是 1,因此如果首个子节点不是一个元素节点,它就会移至下一个节点,然后继续检查此节点是否为元素节点。整个过程会一直持续到首个元素子节点被找到为止。通过这个方法,我们就可以在 Internet Explorer 和 Mozilla 得到正确的方法。
6.修改文本节点 appendData(data); 将data加到文本节点后面
deleteData(start,length); 将从start处删除length个字符
insertData(start,data) 在start处插入字符,start的开始值是0;
replaceData(start,length,data) 在start处用data替换length个字符
splitData(offset) 在offset处分割文本节点
substringData(start,length) 从start处提取length个字符
7.属性操作 getAttribute(name) 通过属性名称获取某个节点属性的值
setAttribute(name,value); 修改某个节点属性的值
removeAttribute(name) 删除某个属性
8.查找节点 parentObj.firstChild 如果节点为已知节点的第一个子节点就可以使用这个方法。此方法可以递归进行使用 parentObj.firstChild.firstChild.....
parentObj.lastChild 获得一个节点的最后一个节点,与firstChild一样也可以进行递归使用 parentObj.lastChild.lastChild.....
parentObj.childNodes 获得节点的所有子节点,然后通过循环和索引找到目标节点
9.获取相邻的节点 neborNode.previousSibling :获取已知节点的相邻的上一个节点 nerbourNode.nextSlbling: 获取已知节点的下一个节点
10.获取父节点 childNode.parentNode:得到已知节点的父节点
发表于2009年6月24日由darkmi
总结了一些javascript操纵select表单控件的方法。
//添加选项
function addOption(){ var option = document.createElement(“OPTION”); var select = document.getElementById(“selectId”); option.text = “optionText”; option.value = “1”; select.add(option); }
说明: 默认添加到选择框的最下端。
//向指定位置添加选项
function insertOption(){ var select = document.getElementById(“selectId”); var option = document.createElement(“OPTION”); option.text = “bbb”; option.value = “2”; select.add(option, 1); }
说明: 注意select.add(option, 1);方法的最后一个参数即可,该参数指定了option的位置。
//遍历选项
function removeOption(){ var selectId = document.getElementById(“selectId”); for(var i = 0; i < selectId.length; i++){ if(selectId.options[i].selected==true){ selectId.options.remove(i); alert("选中项的值为:" + selectId.options[i].value); alert("选中项的文本为:" + selectId.options[i].text); } } }
//删除选项
function removeOption(){ var selectId = document.getElementById(“selectId”); for(var i = 0; i < selectId.length; i++){ if(selectId.options[i].selected==true){ selectId.options.remove(i); } } }
//获得选中选项的索引值
function getIndex(){ var select = document.getElementById(“selectId”); alert(select.selectedIndex); }
说明: 选择框的selectedIndex属性比循环遍历option数组获得选中选项的方法方便多了。
操作选择框时,getElementById与getElementsByName的区别如下:
getElementById得到的是select对象; getElementsByName得到的是个二维数组;
假设页面有如下select选择框:
通过getElementById来对其选项进行的遍历方法如下:
var selectById = document.getElementById(“city”); //遍历city for(var i = 0; i < selectById.length; i++){ alert("text ==" + selectById.options[i].text + ", value == " + selectById.options[i].value); }
通过getElementsByName来对其选项进行遍历的方法如下:
var selectByName = document.getElementsByName(“city”); for(var i = 0; i < selectByName[0].length; i++){ alert("text == " + selectByName[0][i].text + ", value == " + selectByName[0][i].value); }
选中:document.getElementById("id").checked=true;
取消选中:document.getElementById("id").checked=false;
Form 对象代表一个 HTML 表单。
在 HTML 文档中