【问题标题】:How to select first td compared to the clicked td与单击的 td 相比,如何选择第一个 td
【发布时间】:2018-10-24 15:13:58
【问题描述】:

如果选择器只是<tr> 这样$('tr') 应该很容易,但我的目标是td。例如单击此处或td 2 等。我希望将第一个td 的内容与单击的td 进行比较。也就是说td在这种情况下是1。

//And this is my jQuery code with <tr> .. what about if a select was a <td> ? 
$('tr').on('click', function() {
  var tds = $('td:first-child', this).text();
  alert(tds);
});

//After having documented I found this but that did not help :( 
var td1 = $(this).closest('td.id').prev('').text();
alert(td1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="id"> td 1 </td>
    <td> td 2 </td>
    <td> td 3 </td>
    <td> CLICK HERE </td>
  </tr>
</table>

提前谢谢你

【问题讨论】:

  • 你可以使用反引号来做内联代码标记,这样你就不必做之类的事情了。相反,请执行 &lt;tr&gt;(即 周围有反引号)。
  • 谢谢 :) 我不知道该怎么做 .. 谢谢你给我看这个

标签: javascript jquery jquery-selectors


【解决方案1】:

要获得任何点击行的第一个td,请使用:first 选择器,如下所示:

$('tr').on('click', function() {
  var tds = $(this).find('td:first').text();
});

或者,如果click事件绑定到td本身,使用closest()获取父tr,然后找到第一个td

$('td').on('click', function() {
  var tds = $(this).closest('tr').find('td:first').text();
});

【讨论】:

  • 谢谢!它有效:) 这是我第一次使用方法最接近()
【解决方案2】:

您可以使用 jQuerys parent()children() 函数:

$('td').on('click',function()
  {
     var tr = $(this).parent();
     var tds = tr.children();
     var first_td = tds[0];
     var text = $(first_td).text();
     alert(text);
  });

【讨论】:

  • 谢谢!它也有效 :) 我必须说这是我的代码 :)
猜你喜欢
相关资源
最近更新 更多
热门标签