今天搞HTML的时候,发现了一些操作element的方法。先引用一篇。

1.document.getElementById(id);  
2.document.getElementByTagName(tagName);

3.element.childNodes 
   --element.firstChild=element.childNodes[0]; 
  --element.lastChild=element.childNodes[element.childNonts.length-1]; 
4.element.parentNode

5.element.nextSibling; //引用下一个兄弟结点 
element.previousSibling; //引用上一个兄弟结点

6.nodeName属性获得结点名称 
  --对于元素结点返回的是标记名称,如:<a herf><a>返回的是"a" 
  --对于属性结点返回的是属性名称,如:class="test" 返回的是test 
  --对于文本结点返回的是文本的内容 
7.nodeType返回结点的类型 
  --元素结点返回1 
  --属性结点返回2 
  --文本结点返回3 
8.nodeValue返回结点的值 
  --元素结点返回null 
  --属性结点返回undefined 
  --文本结点返回文本内容

9.hasChildNodes()

10.tagName

11.每个属性结点都是元素结点的一个属性,可以通过(元素结点.属性名称)访问 
12 setAttribute()   

  --elementNode.setAttribute(attributeName,attributeValue);

13.使用getAttribute()方法

  --elementNode.getAttribute(attributeName); 
 
14.innerHTML和innerText属性

<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>

15.document.createElement()方法创建元素结点 
  --如:document.createElement("Span"); 
16.document.createTextNode()方法创建文本结点 
  --如:document.createTextNode(" ");

17.使用appendChild()方法添加结点 
18.使用insertBefore()方法插入子节点 
 
19.使用replaceChild方法取代子结点 
 
20.使用cloneNode方法复制结点 
  --node.cloneNode(includeChildren); 
  --includeChildren为bool,表示是否复制其子结点 
21.使用removeChild方法删除子结点

22.添加行和单元格 
var _table=document.createElement("table"); //创建表 
table.insertRow(i); //在table的第i行插入行 
row.insertCell(i); //在row的第i个位置插入单元格 
23.引用单元格对象 
-  -table.rows[i].cells[i]; 
24.删除行和单元格 
  --table.deleteRow(index); 
  --row.deleteCell(index); 
25.交换两行获得两个单元格的位置 
  node1.swapNode(node2);

然后再讲自己的验证,搬来代码如下,以下内容运行于IE9,Chrome均可:

<script type="text/javascript">
function displayKeisaiMeisai(img){
var tr = img.parentNode.parentNode;
var tr1 = tr.getElementsByTagName("TD")[1].getElementsByTagName("TABLE")[0].getElementsByTagName("TR")[1];
if(tr1.style.display=="none"){
tr1.style.display="block";
img.src = "./img/triangle_displayNone.png";
} else {
tr1.style.display="none";
img.src = "./img/triangle_dispaly.png";
}
} function addRow2() {
var _tab = document.getElementById("keisai_b");
var newnode = _tab.getElementsByTagName("TR")[0].cloneNode(true);
_tab.getElementsByTagName("TBODY")[0].appendChild(newnode);
} </script> <input type="button" value="Test追加挿入"
style="height: 35px; width: 150px; margin-top: 3px; margin-left: 0px;"
id="btnAdd"
onClick="addRow2();" />
<table id = "keisai_b">
<tr>
<td>
<table name="keisai_b_node">
<tr>
<td style="vertical-align:top;">
<img id="keisai_b_1" style="margin-top: 5px;" src="./img/triangle_dispaly.png" onclick="displayKeisaiMeisai(this);"/>
</td>
<td>
<table style="background-color: white;">
<tr>
<td style="border:solid 1px #FF6600; width:700px;"><div>決裁</div></td>
</tr>
<tr id="keisai_b_1_m" style="display:none;">
<td>
<table class="mazarine" style="background-color: #FF6600; border: solid 2px #FF6600; ">
<tr>
<th style="border-color: white; background-color: #FF6600;">
<div style="width: 160px;">決裁</div></th>
<td style="text-align: left; border-color: #FF6600; background-color: white;">
<div style="width: 120px;"></div></td>
<th style="border-color: #FF6600; background-color: #FF6600;">
<div style="width: 80px;">決済日</div></th>
<td style="width: 100px; text-align: left; border-color: #FF6600; background-color: white;">
<div style="width: 120px;"></div></td>
<th style="width: 80px; border-color: #FF6600; background-color: #FF6600;">
<div style="width: 80px;">決裁者</div></th>
<td style="width: 100px; text-align: left; border-color: #FF6600; background-color: white;">
<div style="width: 120px;"></div></td>
</tr>
<tr>
<th style="border-color: white; background-color: #FF6600;">
<div style="width: 160px;">連絡事項</div></th>
<td colspan="5" style="text-align: left; border-color: #FF6600; background-color: white;"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
05-04 11:43