??xml version="1.0" encoding="utf-8" standalone="yes"?>
1.document.getElementById(id);
--在文里面通过id来找l点
2.document.getElementByTagName(tagName);
--q回一个数l,包含对这些结点的引用
--如:(x)document.getElementByTagName("span");返回所有类型ؓ(f)span的结?/p>
?间接引用l点
3.element.childNodes
--q回element的所有子l点,可以用element.childNodes[i]的方式来调用
--element.firstChild=element.childNodes[0];
--element.lastChild=element.childNodes[element.childNonts.length-1];
4.element.parentNode
--引用父结?/p>
5.element.nextSibling; //引用下一个兄弟结?br /> element.previousSibling; //引用上一个兄弟结?/p>
?获得l点信息
6.nodeName属性获得结点名U?br />
--对于元素l点q回的是标记名称,如:(x)<a herf><a>q回的是"a"
--对于属性结点返回的是属性名U?如:(x)class="test" q回的是test
--对于文本l点q回的是文本的内?/p>
7.nodeTypeq回l点的类?br />
--元素l点q回1
--属性结点返?
--文本l点q回3
8.nodeValueq回l点的?br />
--元素l点q回null
--属性结点返回undefined
--文本l点q回文本内容
9.hasChildNodes()判断是否有子l点
10.tagName属性返回元素的标记名称
--q个属性只有元素结Ҏ(gu)有,{同于元素结点的nodeName属?/p>
?处理属性结?/p>
11.每个属性结炚w是元素结点的一个属性,可以通过(元素l点.属性名U?讉K
12.利用setAttribute()Ҏ(gu)l元素结Ҏ(gu)加属?br />
--elementNode.setAttribute(attributeName,attributeValue);
--attributeName为属性的名称QattributeValue为属性的?/p>
13.使用getAttribute()Ҏ(gu)获得属性?br /> --elementNode.getAttribute(attributeName);
?处理文本l点
14.innerHTML和innerText属性,q两个方法相信大安很熟(zhn)?不介l了,值得注意的是无论是ieq是firefox都容易把I格、换行、制表符{当成文本结炏V所有一般通过element.childNodes[i]引用文本l点的时候,一般要处理Q?/p>
E序代码 E序代码
<script language"javaScript" type="text/javascript">
function cleanWhitespace(element)
{
for(var i=0; i<element.childNotes.length; i++)
{
var node = element.childNodes[i];
if(node.nodeType == 3 && !/\S/.test(node.nodeValue))
{
node.parentNode.removeChild(node);
}
}
}
</script>
?改变文的层ơ结?/p>
15.document.createElement()Ҏ(gu)创徏元素l点
--如:(x)document.createElement("Span");
16.document.createTextNode()Ҏ(gu)创徏文本l点
--如:(x)document.createTextNode(" "); //?他不?x)通过html~码Q也是说这里创建的不是I格Q而是字符?
17.使用appendChild()Ҏ(gu)dl点
--parentElement.appendChild(childElement);
18.使用insertBefore()Ҏ(gu)插入子节?br />
--parentNode.insertBefore(newNode,referenceNode);
--newNode为插入的节点QreferenceNode为将插入的节Ҏ(gu)入到q之?/p>
19.使用replaceChildҎ(gu)取代子结?br />
--parentNode.replaceChild(newNode,oldNode);
--注:(x)oldNode必须是parentNode的子l点,
20.使用cloneNodeҎ(gu)复制l点
--node.cloneNode(includeChildren);
--includeChildren为boolQ表C是否复制其子结?/p>
21.使用removeChildҎ(gu)删除子结?br /> --parentNode.removeChild(childNode);
?表格的操?--注:(x)ie中无法直接将一个完整的表格l点插入到文档中
22.d行和单元?br />
var _table=document.createElement("table"); //创徏?br />
table.insertRow(i); //在table的第i行插入行
row.insertCell(i); //在row的第i个位|插入单元格
23.引用单元格对?br /> --table.rows[i].cells[i];
24.删除行和单元?br />
--table.deleteRow(index);
--row.deleteCell(index);
25.交换两行获得两个单元格的位置
node1.swapNode(node2);
--q个Ҏ(gu)在firefox中将出错
E序代码 E序代码
通用Ҏ(gu)Q?br />
function swapNode(node1,node2)
{
var _parent=node1.parentNode;
var _t1=node1.nextSubling;
var _t2=node2.nextSubling;
if(_t1)parent.insertBefore(node2,_t1);
else _parent.appendChild(node2);
if(_t2)parent.insertBefore(node1,_t2);
else _parent.appendChild(node1);
}
E序代码 E序代码
删除所有空白结点:(x)
<script language"javaScript" type="text/javascript">
function cleanWhitespace(element)
{
for(var i=0; i<element.childNotes.length; i++)
{
var node = element.childNodes[i];
if(node.nodeType == 3 && !/\S/.test(node.nodeValue))
{
node.parentNode.removeChild(node);
}
}
}
</script>
nodetype=3l点cd是文本\s匚w所有空?/p>
E序代码 E序代码
结Ҏ(gu)入指定烦(ch)引位|?br />
function insertAt(parentNode,newNode,index)
{
if(!parentNode.hasChildNodes())
{
parentNode.appendChild(newNode);
return newNode;
}
E序代码 E序代码
//使用try捕获索引不存在出现的异常
try{
parentNode.insertBefore(newNode,parentNode.childNodes[index]);
}
catch(e){
return null;
}
return newNode;