Safari在调用append jquery方法时删除元素

时间:2011-06-20 14:28:13

标签: jquery safari jquery-append

我遇到一个非常奇怪的情况与safari而不与其他浏览器(FF,IE,Chrome)。

我的HTML代码是这样的:

<table id="tblObjectChannel"></table>

我的脚本是这样的:

var item = '<tr style="border-bottom:solid 1px #666;" id="xxxccc"><input type="hidden" id="hfObjectID0" value="2323" /></tr>';            

$('#tblObjectChannel').append(item);

在Safari以外的浏览器中,它将返回如下:

<tbody><tr style="border-bottom: 1px solid rgb(102, 102, 102);" id="xxxccc"><input id="hfObjectID0" value="2323" type="hidden"></tr></tbody>

但在Safari中,它会像这样返回:

<tbody><tr style="border-bottom: 1px solid rgb(102, 102, 102);" id="xxxccc"></tr></tbody>

所以,隐藏的元素被扔掉了我不知道在哪里。我在这里错过了.append()方法的隐藏功能吗?

你可以在这里亲自见证:http://jsfiddle.net/mrMXS/ 请尝试使用FF链接,然后使用Safari。任何线索都将受到赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

尝试在隐藏字段周围放置一些<td>元素 - 如果没有它们,则无效。

请参阅http://jsfiddle.net/alnitak/mdUeu/ - 在MacOS X上的Safari上测试,它按预期工作。