Javascript 在新插件中使用attr()函数?
我想知道是否可以在新插件中使用Javascript 在新插件中使用attr()函数?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想知道是否可以在新插件中使用attr()函数: (function ($) { $.fn.resetColor = function() { var oldColor=this.attr("memColor"); this.css('background-color',oldColor); }; })(jQuery); 我已经试过上面的代码,但它不起作用。我确信memColor属性存在,因为我已经用$(文档)中的警报对它进行了测试。read
attr()
函数:
(function ($) {
$.fn.resetColor = function() {
var oldColor=this.attr("memColor");
this.css('background-color',oldColor);
};
})(jQuery);
我已经试过上面的代码,但它不起作用。我确信memColor
属性存在,因为我已经用$(文档)中的警报对它进行了测试。ready
块。jQuery插件建议使用以下方法:
(function ($) {
$.fn.resetColor = function() {
return this.each(function() {
var elem = $( this );
var oldColor = elem.attr("memColor");
elem.css('background-color',oldColor);
};
});
}(jQuery));
演示:
(函数($){
$.fn.resetColor=函数(){
返回此值。每个(函数(){
var elem=$(本);
var oldColor=elem.attr(“memColor”);
元素css(“背景色”,oldColor);
});
};
$('.me').resetColor();
}(jQuery));
乱数假文。
Lorem ipsum。
它不起作用,我在第一个脚本中将oldColor替换为“black”,成功地将块的颜色更改为黑色。问题可能来自使用变量oldColor。您是否对this.attr(“memColor”)
甚至this
进行了调试,以查看您使用的是什么?您还可以创建一个fiddle或其他东西来查看您的具体情况吗?问题是,如果jQuery集合中有多个元素,那么this.attr()
只会从集合中的一个元素中检索memColor
属性,然后这将应用于所有元素。