在我使用.html()创建了一个元素的文本之后,我想立即使用.find()从HTML中获取单个元素并对其进行操作。我需要更改为以下代码,以便elemBack
是一个jQuery对象,而不是控制台指示的“prevObject”。
(function($){
$.widget("ui.ItemTest", {
options: {
elementId: null,
id: null,
front: null,
back: null
},
_create: function(){
this.element.html(this.display());
console.log(this.element.html());
var elemBack = $(this).find('.back');
console.log(elemBack);
$(this).find('.back').css('background-color','red'); //doesn't work
},
display: function() {
var r = '';
r += '<div class="front">'+this.options.front+'</div>';
r += '<div class="back">'+this.options.back+'</div>';
return r;
}
});
})(jQuery);
答案 0 :(得分:2)
您需要使用this.element
因为this
指向小部件,而不是元素
this.element.find('.back').css('background-color','red');
演示:Fiddle