代码之家  ›  专栏  ›  技术社区  ›  Gonçalo Queirós

IE7/IE8中的appendTo和其他dom操纵器问题

  •  1
  • Gonçalo Queirós  · 技术社区  · 16 年前

    我对jquery ui自动完成和IE7/8有一种奇怪的行为。 自动完成的默认行为是创建一个UL并将其附加到页面主体。在我的例子中,我想将这个UL附加到同样具有输入的DIV(在这里触发了autocomplete)。 所以我做到了:

    (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附加到outerDiv,它只是让UL附加到页面的主体。 我解决了我的问题

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

    在功能之外,但我想用一种更优雅的方式来做:-)

    0 回复  |  直到 16 年前