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