我有一个表格,我希望从没有特定类的特定行中提取 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/