如何通过单击从表行中获取文本

时间:2018-08-12 14:49:19

标签: javascript jquery

我有表格,在某些时候我需要从特定行中获取表格文本。

例如,这是行:

<tr>
<td>
    Tompson Road
    <span style="display: none;">927</span>
</td>
<td>5</td>
</tr>

我需要输入此文本:汤普森路

我这样做:

    $("#<%= gvFeatList.ClientID %> tr").click(function () {
        var text = $(this).context.innerText;
    });

但是文本包含:

汤普森路927

我只需要-汤普森路

如何更改此命令:$(this).context.innerText以仅获取文本?

3 个答案:

答案 0 :(得分:2)

这也是可能解决您的问题的方法!由于只需要第一个td中的内容,因此可以使用find()方法并单独调整该特定元素。

$("#test tr").click(function() {
  var text = $(this).find('td:first-child')[0].innerText;
  console.log(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table id="test">
  <tr>
    <td>
      Tompson Road
      <span style="display: none;">927</span>
    </td>
    <td>5</td>
  </tr>
</table>

答案 1 :(得分:0)

如果始终是一个名称,然后是一个数字,则可以尝试以下操作: $("#<%= gvFeatList.ClientID %> tr").click(function () { var text = $(this).context.innerText.replace(/[1-9]/g, ''); });

答案 2 :(得分:0)

除了给出的答案外,您还可以获取表行的firstElementChild并获取其innerText。参见下面的演示:

$(document).ready(function(){
    $("tr").click(function () {
	      console.log($(this)[0].firstElementChild.innerText);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
  <td>
      Tompson Road
      <span style="display: none;">927</span>
  </td>
  <td>5</td>
  </tr>
</table>