javascript - Jquery 从表中的特定类获取 html

标签 javascript jquery html-table

我有一个表格,我希望从没有特定类的特定行中提取 html。

例如,行:

<tr>
<th class='a'></th>
<th class='b'></th>
<th class='c'></th>
<tr>

我希望得到这样的结果

<th class='b'></th>
<th class='c'></th>

我已经尝试了几种变体

var newTr = $('#table01 tr:nth-child(2) .a').remove().html();

但它没有返回所需的结果,而是从原始行中删除了第 th 行(正如我猜的那样)

最好是使用正则表达式去除内容,还是有我可以使用的 jQuery 选择器?

最佳答案

如果您想要该行的 HTML,您需要将 jQuery 指向 <tr>对于 .html()同时.remove()仍然需要它指向 <th> .

但是,在.remove()之后,您将无法简单地从 <th> 遍历至 <tr>因为它们不会相关(例如,通过 .parent() )。要解决此问题,您可以使用一系列 .find() .end() 指向 <th>刚好足够 .remove :

$('#table01 tr:nth-child(2)').
    find('.a').remove().end().
    html();
  • jQuery 以 <tr> 开头带 :nth-child(2)
  • .find()将移动到 <th class="a"> ,你.remove()
  • .end()将返回<tr> , 捕获剩余的 .html()

此外,如果您实际上不想影响表格——只想影响结果——扔进一个.clone()。 :

$('#table01 tr:nth-child(2)').clone().
    find('.a').remove().end().
    html();

关于javascript - Jquery 从表中的特定类获取 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3119781/

相关文章:

Javascript:正则表达式搜索并提取 "{ }"内的字符串

jquery - 你如何使用 jquery 以编程方式设置下拉列表中的值

html - 跳过表格中奇数行和偶数行中的某些行——连续的 CSS 样式

javascript - 单击一个元素后选择接下来的两个元素。 (jquery)

html - 实现表行高度覆盖?

HTML 表格是隐藏的,不应该是

javascript - Video.js 更改源,但不显示新源

javascript - jQuery 动画在输入事件监听器中不起作用

javascript - 通过 Id 比较两个数组的元素,并从一个数组中删除另一个数组中未出现的元素

jquery - 雅虎的 YQL 是否还有其他选项用于从其他网站提取 HTML