我有这个示例HTML,我想搜索正文并找到其中包含特定类的表中的任何表,然后将每个表标题附加到新创建的表。
因此,如果正文表包含类b.warning,请将表标题追加到#NEW div
<body>
<table>
<tr><td><title>This Title</title></td></tr>
<tr><td><b class="warning">Append this tables title</b></tr>
</table>
<table>
<tr><td><title>This Title</title></td></tr>
<tr><td><b>Do Not append this tables title</b></tr>
</table>
<table>
<tr><td><title>This Title</title></td></tr>
<tr><td><b class="warning">Append this tables title</b></tr>
</table>
<table>
<tr><td><title>This Title</title></td></tr>
<tr><td><b>Do Not append this tables title</b></tr>
</table>
<table id="NEW">APPEND TITLES HERE</table>
</body>
我不熟悉jQuery,但试过这个
$(document).ready(function () {
$(body).find('table').has('b.warning').each(function (index, element) {
var target = $("#NEW");
if $(this).find("title").each(function () {
target.append("<tr'><td>" + $(this)[0].outerHTML + "</td></tr>");
});
});
答案 0 :(得分:1)
请看这里:http://jsfiddle.net/pa5aLhma/2/
您的表格HTML不是很干净,我的意思是您有一些错误,您应该重新考虑使用title tag。
根据您给我们的内容,我已将表格结构更改为
<table>
<tr class="title">
<td>
This Title
</td>
</tr>
<tr>
<td>
<b class="warning">Append this tables title</b>
</td>
</tr>
</table>
所以,如果你使用这个结构,你可以在jQuery中
$('table .warning').each(function() {
var table = $(this).parents('table').first();
table.find('tr.title').clone().removeAttr('class').appendTo('#NEW');
});
这显然不是最干净的方式,也不是最优化的方式,但它会起作用。