2
我在我生產形式幾個方面,我使用jQuery appendTo我創建了一個DOM元素並將其向下滑動如下:IE8 jQuery的DOM操作未能擴大元素
function createForm(event) {
var input = $(event.data.element);
var name = input.val();
input.attr("disabled", true);
input.parent().parent().fadeOut("slow", function() {
$.get('<%=Url.Action("GetForm", "Controller") %>', { name: name },
function(data) {
var parentList = input.parent().parent().parent();
var listCollection = $(data);
listCollection.hide();
listCollection.appendTo(input.parent().parent().parent()).slideDown("slow");
$("#cancel_create").bind("click", { element: input }, revertForm).css({ "cursor": "pointer" });
}, "html");
});
}
這獲取html以顯示並將其附加到父列表中。在FF和Chrome中完美工作。在IE8中,它正確插入元素,但不擴展列表周圍的div,因此新項目看起來溢出。如果我專注於突然擴展的另一個元素,那麼如果我打開開發人員工具,則必須觸發重繪,並展開div。
這是一個錯誤?
編輯:
對不起,我真的應該包括在此。 HTML之前插入
<li> <!-- This is failing to expand -->
<h3>3</h3>
<div class="container">
<ul> <!-- This is parentList -->
<li><input id="state1" name="Foo1" type="text" value="" /></li>
<li><input id="state2" name="Foo2" type="text" value="" /></li>
<li><input id="state3" name="Foo3" type="text" value="" /></li>
</ul>
</div>
<li>
,我返回一些額外的列表元素,並將它們附加到parentList。
<li><input id="state4" name="Bar1" type="text" value="" /></li>
<li><input id="state5" name="Bar2" type="text" value="" /></li>
<li><input id="state6" name="Bar3" type="text" value="" /></li>
的
感謝,
伊恩
我們可以得到一個附加HTML的樣本/表示,以及附加到的HTML。 – 2009-08-13 16:28:58