Попытка добавить div - приводит к [объект объекта] - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь добавить 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 голосов
/ 26 апреля 2018

Вы смешиваете jQuery и ванильный JavaScript для манипулирования DOM.Обычно это плохая идея.

Из-за того, как вы создаете <div>, я просто прошёл бы все jQuery:

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

Если вы используете один из querySelector(), то есть ожидание фактического NodeElement.Когда вы даете ему jQuery, это объект, который приводится как строка [object Object] и добавляется как TextNode.

Если вы хотите пойти по этому пути, вы также можете использоватьget(0) функция для jQuery:

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