我从ajax调用中获取了一个HTML片段。我正在使用jQuery,只想在片段中使用TR。使用jQuery选择器来查找TR在Firefox中没有任何结果,只有IE。
所以作为一种解决方法,我想我可能会尝试
$(ajaxString).filter('form').first().html()
以及
$(ajaxString).filter('form').first()[0].innerHTML
这两种方法仅适用于IE,在Firefox中,TR和TD元素消失,只返回跨度。有什么问题和解决方案? : - )
<form method="post">
<tr>
<td><span> stuff </span></td>
<tr>
<form>
答案 0 :(得分:3)
当Firefox错误纠正了围绕表行的无效元素时,它会将该元素放在DOM中表的末尾之后。
即。它在使用innerHTML时不会删除它们,它会在首先解析非真正的HTML时删除它们。
表单和表之间的关系可以是“表格在表格中”或“表格在表格单元格中”。
答案 1 :(得分:0)
您的HTML片段应该是有效的。像
这样的东西<form method="post">
<table>
<tr>
<td><span> stuff </span></td>
<tr>
</table>
<form>
然后你可以使用像
这样的东西$(ajaxString).find("form").html();