2011-06-20 3 views
0

Я встречаюсь с очень странной ситуацией с сафари, а не с другими браузерами (FF, IE, Chrome).Safari удаляет элемент при вызове метода append jquery

Мой 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. Любой ключ был бы оценен.

Спасибо

+0

Это только я или jsFiddle сломан в Safari? Код внутри кодовых блоков отображается неправильно ... –

ответ

0

Попробуйте положить некоторые <td> элементы вокруг вашего скрытого поля - это не действительный HTML без них.

См. http://jsfiddle.net/alnitak/mdUeu/ - проверено на Safari на MacOS X, и оно работает должным образом.

+0

waaa .. как я могу быть настолько глупым, и я должен ждать 7 минут, чтобы принять ваш ответ: S спасибо. – Arief