首先,感谢您的预先帮助。

我基本上试图在页面上找到的每个定位标记上方悬停div。所以我得到偏移量,找到每个元素的高度和宽度,然后创建一个新的div并将CSS设置为这些尺寸。我在将新创建的DIV附加到定位标记的父代的代码遇到麻烦。

$( "a" ).each(function( index ) {
    tempoffset = $( this ).offset();
    tempheight = $( this ).height();
    tempwidth = $( this ).width();
    tempoverlay = document.createElement('div');
    tempoverlay.appendTo($(this).parent());
    tempoverlay.setAttribute("style","background: #ccc; position: fixed; height: " + tempheight + "px; width: " + tempwidth + "px; left: " + tempoffset.left + "px; top: " + tempoffset.top + "px;");
});


我收到错误提示


  tempoverlay.appendTo不是一个函数
  对这里可能发生的事情有任何想法吗?

最佳答案

tempoverlay是一个本机DOM节点,而不是jQuery对象,因为这是document.createElement创建的,因此它没有appendTo方法。

改为创建jQuery对象

var tempoverlay = $('<div />');

tempoverlay.appendTo( $(this).parent() )
           .css({
                   background : '#ccc',
                   position   : 'fixed',
                   height     : tempheigh,
                   width      : tempwidth,
                   left       : tempoffset.left,
                   top        : tempoffset.top
               });

10-02 13:46