试图追加div - 结果[object Object]

时间:2018-04-25 20:47:46

标签: javascript append

我正在尝试附加一个div,但它只附加一个带有[object Object]的文本字符串。所以它附加了一些东西,但不是我想到的div。

addMarker(){
            var x = this.$.carDialog;
                x.querySelector('.car-img-container').append(
                     $("<div></div>").css({
                         position: 'absolute',
                         top: MouseEvent.pageX + 'px',
                         left: MouseEvent.pageY + 'px',
                         width: '10px',
                         height: '10px',
                         zIndex: '5000',
                         background: '#ff0000'
                     })

                 );                
        }

1 个答案:

答案 0 :(得分:1)

您正在混合使用jQuery和vanilla JavaScript进行DOM操作。这通常是一个坏主意。

由于您创建<div>的方式,我只是去了所有jQuery:

$(x).find('.car-img-container').append(/* div code here */);

如果您使用querySelector()中的那个,则需要实际的NodeElement。当你给它jQuery时,这是一个对象,它被转换为字符串[object Object]并附加为TextNode

如果你想走那条路,你也可以使用jQuery的get(0)函数:

x.querySelector('.car-img-container').appendChild($('<div></div>).get(0));