在 javascript 程序中有一个包含对象的数组 (gData)。
这些对象中的每一个都有一个称为标签的属性,它是一个对象。
每个标签在一个名为 div_ 的 div 中包含一个名为 span_ 的跨度。
在其他 gData 相关操作中,标签对象被实例化为
gData.label = new Label();
然后将 gData 对象推送到 gData 数组上。
在主程序中,我可以执行以下运行良好的 jquery 代码:
$(gData[0].label.span_).css("border","5px solid green");
我想向名为 setCSS() 的标签对象添加一个函数原型。我会这样调用 setCSS 方法:
gData[0].label.setCSS("border","5px solid green");
我编写的 setCSS 代码(如下)不起作用。我猜选择器不起作用。
Label.prototype.setCSS = function(args) {
// args contains an object in the form {"cssAtribute":"cssData"}
// call this method as label.setCSS({"border":"3px solid blue"});
// Any number of css attributes can be included in the args object
$.each(args, function(theKey, theValue) {
$(this.span_).css(theKey, theValue);
});
}
我已经尝试过 $(this.span_)、$(this.div.span_) 和其他几个选择器,但都不起作用。
使用 Firebug 我可以看到 gData[0] 包含一个标签对象,而标签对象包含一个 span_ 对象。我的选择器规格错了吗?还是我错过了其他一些让我感到愚蠢的原因?