JS操作網頁元素集合
阿新 • • 發佈:2018-12-17
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">
-
方法三:我想通過直接定位class="hidden"來取值,但老不成功,如果以後有解決方法了將其補上。或者哪位大神知道煩請指導一下~
LYTH_JS01 2018-10-24