动态getIdByName

时间:2013-12-13 05:57:10

标签: dynamic getelementbyid

我在我的页面上显示了一系列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个点击功能。

2 个答案:

答案 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');
 });

所以现在它有效。大!!