jquery中将id对象作为函数参数传递并获取对象中的值

<table>
  <tr>
    <td id="ok">
      <span>24</span>
      < input type="text" value="24" />
    </td>
     </tr>
</table>

<script>
$(document).ready(function(){
  $("input").css("display","none");
  $("#ok").click(function(){
    var str=$("#ok input").val();
    alert(str);
  ​});
});
</script>

这样可以在点击TD后获取值,但是这样的td有好多个,每个都有一个不同的id,不可能每个id都写一个函数,所以我想把var str=$("#ok input").val();这句中的#ok当成一个变量,比如

<td id="ok1" onclick="show(ok1)">
  <span>25</span>
  <input type="text" value="25" />
</td>
<td id="ok2" onclick="show(ok2)">
  <span>26</span>
  <input type="text" value="26" />
</td>
<td id="ok3" onclick="show(ok3)">
  <span>27</span>
  <input type="text" value="27" />
</td>

点击不同的td,传递不同的id值,获取不同id名下的input值,请问这个show()函数该如何写?

阅读 14.8k
2 个回答

你想得太麻烦了。直接给td标签加一个class属性 如:td_class

try

$(function(){
    $('.td_class').click(function(){
        alert($(this).attr('id'));
    })
});

你应该通过javascript的冒泡机制来实现你的功能。
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题