appendTo и другие проблемы с dom-манипуляторами в IE7 / IE8 - PullRequest
1 голос
/ 04 мая 2010

У меня странное поведение с автозаполнением jquery ui и IE7 / 8. Поведение автозаполнения по умолчанию заключается в создании UL и добавлении его в тело страницы. В моем случае я хочу добавить этот UL к DIV, который также имеет вход (где срабатывает автозаполнение). Итак, я сделал это:

(function($) {
  $.widget("ui.combobox", {
                _create: function() {
                var select = this.element.hide();
                var outerDiv = $("<div>")
                               .insertAfter(select);
                //Autocomplete code...
                .
                .
                $('body').children('ul.ui-autocomplete').appendTo(outerDiv);
            }
        });
})(jQuery);

Это прекрасно работает в Firefox / Chrome, но IE7 / 8 не добавляет UL к externalDiv, он просто позволяет UL добавляться в тело страницы. Я решил свою проблему, фактически пройдя

$('body').children('ul.ui-autocomplete').appendTo(outerDiv);

за пределами функции, но я бы хотел сделать это более элегантно: -)
Заранее спасибо.

...