1. 程式人生 > >JS操作網頁元素集合

JS操作網頁元素集合

JS操作動態生成的table中td的內容

獲取xyz中的內容

問題摘要:在gridview中,操作其動態生成的某一行元素。給每一行綁定了一個事件AddLayers(this),這個事件需要讀取改行的一個hidden元素<td>xyz<td>中的內容。我的網頁檔案如下:
<table cellspacing="0" cellpadding="4" border="0" id="ctl00_MainContent_GridView1" style="color:#333333;width:260px;border-collapse:collapse;margin-bottom: 0px">
		<tr style="color:White;background-color:#5D7B9D;font-weight:bold;">
			<th scope="col">rid</th><th scope="col">Name</th><th class="hidden" scope="col">Production_Path</th>
		</tr>
		<tr onclick="AddLayers(this)"  name="gridview1-1" style="color:#333333;background-color:#F7F6F3;">
			<td>1</td>
			<td>BI_20170517001641.JPG</td>
			<td class="hidden">/home/os/2017/05/17/BI_20170517001641.JPG</td>
		</tr>
		<tr onclick="AddLayers(this)"  name="gridview1-2" style="color:#284775;background-color:White;">
			<td>2</td>
			<td>BI_20170517011641.JPG</td>
			<td class="hidden">/home/os/2017/05/17/BI_20170517011641.JPG</td>
		</tr>
		</tr>
	</table>
  • 方法一:是我之前做的笨辦法,在後臺給hidden賦一個id值,通過 document.getElementById("path_1").innerHTML獲取;
  • 方法二:通過獲取該elem所屬的td,定位至hidden單元的位置,再獲取其內容。 function AddLayers(elem){ var value=elem.getElementsByTagName("td"); alert(value[2].innerHTML);}

TIPS:

–>document.getElementById(“idx”).innerHTML;// td裡有html元素的時候 –>document.getElementById(“idx”).innerText;//td裡只有字元的時候 –>document.getElementById(“idx”).value();//td沒有“value”引數的話這個方法是獲取不到的,除非在td中寫入<td value="xxx">

才能獲取,但是這種寫法一般只用於input 輸入框

  • 方法三:我想通過直接定位class="hidden"來取值,但老不成功,如果以後有解決方法了將其補上。或者哪位大神知道煩請指導一下~

     																											LYTH_JS01 2018-10-24