this.value在<td>标记显示未定义

this.value in <td> tag showing undefined

本文关键字:显示 未定义 gt td value lt this      更新时间:2023-12-17

当前,我试图获取<td>标记值,但它显示为未定义。我能知道我的代码中有什么错误吗。我试着寻找其他解决方案,但直到现在都找不到。

这是我的代码:

    echo "<td value='".$row['CDTitle']."' onclick='"alert(this.value)'" id='"clickme'">" . $row['CDTitle'] . "</td>";

一旦我点击表中的CD标题,它就会显示Undefined。有人能帮我吗。非常感谢。

大多数浏览器只会将标准属性反映为点属性,而不是TD元素的标准属性。

您可以使用getAttribute,或者使用data-属性。MDN对此有帮助。无论如何,您可能会回到getAttribute以支持IE<10,但无论如何都应该使用数据-属性。

一些播放代码。

<table>
  <tr><td onclick="alert(this.getAttribute('value'))" value="foo">Click me: get attribute
  <tr><td onclick="alert(this.dataset.value)" data-value="foo">Click me: dataset
</table>

当然,这正是浏览器所能得到的,你如何让服务器提供服务取决于你。;-)