2013-03-28 36 views
0

我有DIV和裏面div它有表。我想用java腳本更改表格的列值之一。我可以通過獲取列的元素標識來完成,但是沒有任何標識爲的任何表的列。下面是例子。如何使用javascript更改HTML元素值?

<div id="usersec"> 
<TABLE style="TEXT-ALIGN: center; WIDTH: 279px; HEIGHT: 70px"> 
<TBODY> 
<TR> 
<TD style="FONT-FAMILY: Verdana" vAlign=center align=middle>Talk to me </TD></TR></TBODY></TABLE> 
</div> 

是否有可能使用JavaScript更改「Talk to me」文本?

+0

你在表中只有一個'​​'嗎?或者你問我們如何找到沒有'id'屬性的_specific_'​​',例如基於它的_content_? – Sepster

+0

你是否樂意使用lib,比如jQuery? – Sepster

回答

1

是的,你需要得到的元素,然後設置一個新的值element.innerHTML。如果你給一個id到要更改的元素,但你並不需要

jsFiddle

<script type="text/javascript"> 
    var usersec = document.getElementById('usersec'); 
    var td = usersec.getElementsByTagName('td')[0]; 
    td.innerHTML = 'New value'; 
</script> 
+0

謝謝丹尼爾..它的工作原理 – user1591156

1

如果你的用戶羣是IE8 +這是最簡單的,你可以放心地使用querySelector

var container = document.getElementById('usersec'); 
var td = container.querySelector('tr:first-child > td'); 
if(td){ 
    td.innerHTML = "New Text!"; 
} 

這裏有一個的jsfiddle:http://jsfiddle.net/rgthree/YkhwE/

querySelector(或querySelectorAll)允許您通過CSS語法定位DOM中的元素,這非常有用。它在每一個當前和以前的瀏覽器中都得到很好的支持。 (通過Can I Use

0

您可以爲TD分配一個ID,然後使用該ID;

<div id="usersec"> 
<TABLE style="TEXT-ALIGN: center; WIDTH: 279px; HEIGHT: 70px"> 
<TBODY> 
<TR> 
<TD style="FONT-FAMILY: Verdana" vAlign=center align=middle id="cellToChange">Talk to me</TD> 
</TR></TBODY></TABLE> 
</div> 

<script type="text/javascript"> 
document.getElementById("cellToChange").innerText = "Go on, talk to me please!"; 
</script>