当我移动CSS时,我编写了这个函数来保存头痛(它将CSS字符串转换为对象)。我希望能够将它用作.css()
函数的插入。
jQuery.fn.cCSS = function(css) {
return this.each(function(){
var css_obj = {};
var tmx = "";
ocss = css.split(";");
$.each(ocss, function (index, elem){
tmx = elem.trim().split(':');
if (tmx[0].length > 0)
css_obj[tmx[0]] = tmx[1].trim();
});
return $(this).css(css_obj);
//return $;
});
};
})(jQuery);
我的问题是当我以“流利”表示法使用它时,我总是得到一个空错误。
未捕获的TypeError:无法调用null
的方法'addClass'我有点困惑,为了不“破坏链条”而必须返回什么
答案 0 :(得分:1)
你回来了this.each(...)
! .each()
的输出很可能只是null。
答案 1 :(得分:1)
您可能想查看错误的行号。我不认为它与此功能有任何关系。该功能本身对我有用。
http://jsfiddle.net/R8UtV/<<演示
特别是因为没有调用addClass,除非你在调用函数时运行它?
即
$('#test').cCSS('bleh...').addClass('foo');
答案 2 :(得分:0)
毕竟,你想要return this
,你希望在同一个对象上调用下一个函数!