jQuery-如何获取数据对象函数中的元素

jQuery-如何获取数据对象函数中的元素,jquery,Jquery,是否有一种方法可以获取设置为元素“数据”的对象中函数内部的元素?如果没有,有什么替代方法来实现这一点 var m = function(options){ // Some initialization code here } m.prototype.doSomething: function() { // How do i get the #an_element here? } $("#an_element").data('myObject', m); 我假设u在#u元素

是否有一种方法可以获取设置为元素“数据”的对象中函数内部的元素?如果没有,有什么替代方法来实现这一点

var m = function(options){
     // Some initialization code here
}

m.prototype.doSomething: function() {
    // How do i get the #an_element here?
}

$("#an_element").data('myObject', m);

我假设u在#u元素中存储了一个类或id,即选择器。试试这个:

var m = function(options){
     // Some initialization code here
}

m.prototype.doSomething: function() {
    var selector = $("#an_element").data('myObject');
    var required_element = $(selector);
}

$("#an_element").data('myObject', m);

最简单的方法是将该元素交给构造函数,您可以检查它。


您所做的错误是,您试图将函数本身放入数据中,但您必须先创建一个对象,如下所示:
$(“#an#u元素”).data('myObject',new m())

如果选择器返回多个元素,我认为这将不起作用。我试图找到一种方法来避免将元素传递给构造函数。
var m = function(options){
     // Some initialization code here
    $.extend(this, options);
}

m.prototype.doSomething= function() {
    // How do i get the #an_element here?
    var _this=this;
    if(_this.el && _this.el.length){
        _this.el.css({color:"black"}); 
    }
}
$(function(){
    var $el=$("#an_element");
    $el.data('myobject', new m({el:$el}));
    $el.click(function(){
        var nn=$(this).data("myobject");
        nn.doSomething();
        return false;
    });
});