我在我的页面上显示了一系列20张图片,其中包含唯一的ID和值。每张图片都包含在td中。我想获得被点击的td的值。我已经尝试了所有的东西,但它没有按照它应该的方式工作。这个值总是未定义的。为什么?以下是示例代码:
<?php
$html='';
for($i=0; $i < 20; $i++){
$html .= "<td id='tdName' value='$i'></td>";
}
?>
<html>
<body>
<table><tr>
<?php echo $html; ?>
</tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$('#tdName').on('click', function() {
tdValue = document.getElementById('tdName').value;
alert(tdValue);
});
</script>
</body>
</html>
每次用户点击td时如何获得唯一值?我也不想拥有20个点击功能。
答案 0 :(得分:0)
您必须抓住正确的目标才能获取值。 “e”是jQuery传递的事件对象,它包含'currentTarget'作为属性。选择您单击的那个,然后您可以拉动其在顶部手动设置的“值”属性。
$('#tdName').on('click', function(e) {
var value = $(e.currentTarget).attr('value');
});
答案 1 :(得分:0)
在我的情况下,由于每个td的id都是tdName,我不得不将click函数更改为:
$('td').on('click', function(e) {
var value = $(e.currentTarget).attr('value');
});
所以现在它有效。大!!