Firefox と Chrome では問題なく動作するが、Internet Explorer 8 では動作しない jQuery コードがいくつかあります (他の IE バージョンではテストしていません)。Internet Explorer は標準モードで実行されています。
以下のコードの目的は、その場で新しいリスト項目を作成することです。そのコンテンツは、非表示の section 要素内にあるフォームのコンテンツに設定されます。IE を使用すると、section 要素が非表示になり、li がリストに追加されますが、空になります。
IE でのこのコードの何が問題になっていますか?
$('ul.elementlist').on('click', '.add-element-icon', function (event) {
var plusIcon = $(this);
plusIcon.hide();
var parentLi = plusIcon.parent();
var before = parentLi.attr('id');
var after = parentLi.next().attr('id');
if (typeof after === "undefined") {
after = 'none';
}
var li = $('<li class="element">').html($('section.add-element').html());
$('input[name="elementBefore"]', li).val(before);
$('input[name="elementAfter"]', li).val(after);
li.insertAfter(parentLi);
});