代码之家  ›  专栏  ›  技术社区  ›  bcmcfc

如何使用jQuery创建一个绝对位于另一个元素旁边的div?

  •  0
  • bcmcfc  · 技术社区  · 15 年前

    我在一个页面上有一个搜索框,它连接到一个AJAX脚本,该脚本通过GET根据搜索框的内容返回HTML。

    或者,是否可以使用jQueryUI自动完成功能,如果可以,如何使用?我确实有一个bash与它,但有麻烦让它显示HTML。

    下面是一个jsfiddle链接: http://jsfiddle.net/UxPb8/

    你可以原谅你认为它是有效的,但是一旦页面上有更多的东西在搜索框的左边,定位就会被丢弃,所以这个问题。

    3 回复  |  直到 15 年前
        1
  •  2
  •   sje397    15 年前

    假设你的搜索框在一个名为“search”的div中。

    然后可以使用jQuery after

    $('#search').after(html);
    

    如果您要创建的'div'不是返回的HTML的一部分,那么很容易插入它:

    $('#search').after("<div>" + html + "</div>");
    
        2
  •  0
  •   Oyeme    15 年前

    像这样..(在返回html之后)

    $('.classNameORID').append("<div style='position:relative;'>"+ data +"</div>");
    
        3
  •  0
  •   bcmcfc    15 年前

    最后我做了这个:

    //calculate the position
    var parentDiv = $(this).parents(selector);
    var top = parentDiv.position().top + parentDiv.height();
    var left = $("#wrapper").width()-427; //427 is a fixed offset - it's still in the right place for any screen res
    
    //run the search
    $.ajax({
        url: 'ajax/find.php',
        data: { search: $(this).val() },
        success: function(data) {
            $("#globalFindResults")
                .css({
                    'position': 'absolute',
                    'top': top,
                    'left': left
                    })
                .html(data)
                .slideDown('fast');
        }
    });