В конструкторе создаю элемент
var this.legendElement = this.compileLegend();
и чем позже я хочу использовать его в слушателе событий:
var takeControl = function() {
this.element.empty();
this.legendElement.appendTo(this.element);
}
legendElement добавляется, но остается пустым! Я не понимаю почему. В других браузерах (проверено firefox, chrome) работает.
Также, когда я печатаю содержимое this.legendElement, я вижу HTML-код, как и ожидалось. Другими словами
console.log(this.legendElement);
создает ожидаемый html-код с правильным содержанием (и я вызываю его внутри функции takeControl).
Я пробовал несколько способов исправить это
this.element.append(this.legendElement)
тоже не работает.
Этот:
this.element.append(this.legendElement.html())
добавляет html-код, но без this.legendElement вокруг него (что ожидается).
Итак, следующие
this.element.append($('<div />').append(this.legendElement).html())
делает то, что я хочу, но это кажется ужасным взломом.
Итак, мой вопрос: что происходит и могу ли я получить
this.element.append(this.legendElement)
работать?
Заранее спасибо! ^ _ ^
this.compileLegend();
и какова структураthis.element
? - person T J   schedule 11.07.2014