1

在使用 .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);

在此处输入图像描述

4

1 回答 1

2

您需要使用this.element,因为this指向小部件,而不是元素

this.element.find('.back').css('background-color','red');

演示:小提琴

于 2013-09-02T16:55:01.090 回答