我正在尝试附加一个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'
})
);
}
答案 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));