如何使用树遍历方法在任何 Table 行 (HTML/JavaScript) 中抓取数据
How To Grab Data In Any Table Row (HTML/JavaScript) Using Tree Traversal Methods
我有一个 table 看起来像这样 -->
<table>
<tr style="display: none";><td class="index">index_value</td></tr>
<tr><td>section header</td></tr>
<tr>
<td class="name>Steven</td>
<td class="height">6 ft.</td>
<td><button class="add">Add</button></td>
</tr>
</table
和一个如下所示的 js 脚本 -->
<script>
$(".add").on('click', function(){
var the_name = $(this).closest("td").siblings(".name").text();
var the_type = $(this).closest("td").siblings(".type").text();
var the_index = $(this).parent().find("td.index").text();
}
</script>
您可能会说,我正在尝试获取此 table 中某些 td 的值。前两个变量工作得很好,因为它们在同一 table 行内;但是,最后一个变量没有捕获我想要的数据(在索引 class 内)。
我在理解这些树遍历方法以及如何在 table 行中获取数据时遇到了一些困难,该行不包含被单击的按钮。如有任何建议,我们将不胜感激。
您的代码中存在一些您需要清理的语法错误,但是您在获取索引单元格中的值时遇到的问题是您在 DOM 树到 运行 .find() 命令。
$(".add").on('click', function(){
var the_name = $(this).closest("td").siblings(".name").text();
var the_type = $(this).closest("td").siblings(".type").text();
var the_index = $(this).closest("table").find("td.index").text();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr style="display: none";><td class="index">index_value</td></tr>
<tr><td>section header</td></tr>
<tr>
<td class="name">Steven</td>
<td class="height">6 ft.</td>
<td><button class="add">Add</button></td>
</tr>
</table>
我有一个 table 看起来像这样 -->
<table>
<tr style="display: none";><td class="index">index_value</td></tr>
<tr><td>section header</td></tr>
<tr>
<td class="name>Steven</td>
<td class="height">6 ft.</td>
<td><button class="add">Add</button></td>
</tr>
</table
和一个如下所示的 js 脚本 -->
<script>
$(".add").on('click', function(){
var the_name = $(this).closest("td").siblings(".name").text();
var the_type = $(this).closest("td").siblings(".type").text();
var the_index = $(this).parent().find("td.index").text();
}
</script>
您可能会说,我正在尝试获取此 table 中某些 td 的值。前两个变量工作得很好,因为它们在同一 table 行内;但是,最后一个变量没有捕获我想要的数据(在索引 class 内)。
我在理解这些树遍历方法以及如何在 table 行中获取数据时遇到了一些困难,该行不包含被单击的按钮。如有任何建议,我们将不胜感激。
您的代码中存在一些您需要清理的语法错误,但是您在获取索引单元格中的值时遇到的问题是您在 DOM 树到 运行 .find() 命令。
$(".add").on('click', function(){
var the_name = $(this).closest("td").siblings(".name").text();
var the_type = $(this).closest("td").siblings(".type").text();
var the_index = $(this).closest("table").find("td.index").text();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr style="display: none";><td class="index">index_value</td></tr>
<tr><td>section header</td></tr>
<tr>
<td class="name">Steven</td>
<td class="height">6 ft.</td>
<td><button class="add">Add</button></td>
</tr>
</table>