是否可以在jQuery构造函数上使用$.each()
?如果是,请解释此代码段的问题:
$('<div/>').addClass(
'forceSmallFont tableLayoutAutoOverride'
).applyHTMLclasses(
paramaterObject.tableClasses
).each(
paramaterObject.rows,
function(rowKey, rowValue)
{ ...
我的代码中只有一行,而且Chrome报告错误。
我已确认paramaterObject.rows
已定义。
applyHTMLclasses()
是一种自定义函数,如果定义了$.removeClass()
,则$.addClass()
和paramaterObject.tableClasses
更容易。
$.fn.applyHTMLclasses
$.fn.applyHTMLclasses = function(paramaterObject) {
if(typeof paramaterObject !== 'undefined'){
return this.each(function () {
$(this).addClass(function(){
return (typeof paramaterObject.classAdditions === 'undefined')?'':paramaterObject.classAdditions;
}).removeClass(function(){
return (typeof paramaterObject.classRemovals === 'undefined')?'':paramaterObject.classRemovals;
})
});
}
}
答案 0 :(得分:2)
applyHTMLclasses
可能看起来像这样:
$.fn.applyHTMLclasses = function(classes) {
this.each(function() {
// do something
});
}
只需要很小的改动就可以使用链接方法。
$.fn.applyHTMLclasses = function(classes) {
this.each(function() {
// do something
});
return this; // add this line
}