<td> <input type="button" name="buton" id="x2" value="2" onclick="swap(id)";/> </td>
这是单击表格中的按钮时,它的id作为参数传递给函数“swap”,如下所示:
function swap(x)
{
document.write(x);
}
成功获取id但不是值;当我尝试这样时:
function swap(x)
{
document.write(x.value);
}
输出显示为undefined。你能告诉我如何使用单元格id获取单元格值吗?
答案 0 :(得分:3)
我相信你要找的是document.getElementById(x).value; 此外,如果你想按钮只是将它传递给这样的函数:
<button onclick="foo(this)"/>
答案 1 :(得分:1)
我想使用jQuery是为了这个目的,它允许非常容易地遍历DOM。
<table id="mytable">
<tr><th>Customer Id</th><th>Result</th></tr>
<tr><td>123</td><td></td></tr>
<tr><td>456</td><td></td></tr>
<tr><td>789</td><td></td></tr>
</table>
如果可以,可能值得在包含客户ID的TD上使用class属性,以便您可以写:
$('#mytable tr').each(function() {
var customerId = $(this).find(".customerIDCell").html();
}
基本上这与其他解决方案相同(可能是因为我进行了复制),但其优点是,如果您移动列,甚至将客户ID放入列中,则无需更改代码结构a&lt; span&gt;,只要你保留class属性。
顺便说一句,我认为你可以在一个选择器中做到这一点:
$('#mytable .customerIDCell').each(function()
{
alert($(this).html());
});
如果这让事情变得更容易
代码在交叉问题上或多或少更可靠
答案 2 :(得分:0)
如果您要传递元素的ID,可能需要使用document.getElementById(x)
来访问它。
答案 3 :(得分:0)
z = document.getElementById(id);
,然后您应该可以使用z.firstChild.textContent
答案 4 :(得分:0)
您需要使用var cell = document.getElementById(x)
获取单元格。然后使用cell.firstChild.nodeValue
。
function swap(x)
{
var cell = document.getElementById(x);
document.write(cell.firstChild.nodeValue);
}
编辑:在FF3.5和IE8上对此进行了测试,它确实有效。