由于计算复杂,我最终得到了这样的内容。
<table>
<tr>
<div><td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td></div>
</tr>
<tr>
<div><td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td></div>
</tr>
<tr>
<div><td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td></div>
</tr>
</table>
我们如何删除所有<div>
和</div>
代码,因为它们会干扰表格结构?
答案 0 :(得分:4)
正如评论中已经提到的,你不能使用jQuery / JavaScript来可靠地解决这个问题。原因是它是无效的HTML,最终结果完全取决于浏览器的恢复方法。
例如,您在那里的标记将使用WebKit解析如下(在最新的Chrome中测试):
<div></div><div></div><div></div>
<table>
<tbody>
<tr>
<td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td>
</tr>
<tr>
<td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td>
</tr>
<tr>
<td>Blah</td><td>Blah</td><td>Blah</td><td>Blah</td>
</tr>
</tbody>
</table>
可能并非所有浏览器都会出现此行为,有些可能会以不同方式解析它,因为没有正确的方法来解析错误的标记。修复此问题的来源(生成内容的位置)。
答案 1 :(得分:2)
$('td').parents('div').remove();
或使用jquery unwrap
- UPDATE--不要认为删除或解包对我有用,在这种情况下,浏览器肯定似乎是从表中踢div并在文档树的末尾添加 。尝试修复HTML生成逻辑以删除div,如果不是尝试向div添加一个类,然后添加一个jquery片段来隐藏或删除具有该特定类的div
答案 2 :(得分:0)
答案 3 :(得分:0)
这可能有用: 为表
分配一个idvar content=$("#table_id").html();
content=content.replace('<div>','');
content=content.replace('</div>','');
$("#table_id").html(content);