我有表格,在某些时候我需要从特定行中获取表格文本。
例如,这是行:
<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
以仅获取文本?
答案 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>