在一個javascript程序中有一個包含對象的數組(gData)。
這些對象中的每一個都有一個名爲label的屬性,它是一個對象。
每個標籤都包含一個稱爲span_的跨度,稱爲div_。使用這個。在一個jQuery選擇器
除其他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_對象。我的選擇器規格是否錯誤?或者我錯過了一些會讓我感到沮喪的其他原因?
代碼,每次你的建議ammended,仍然無法正常工作。 'var $ span = $(this.span_); (theKey,theValue)$ span.css(theKey,theValue); });' – RoyHB
第一個示例在這裏工作:http://jsfiddle.net/ESrSY/和第二個例如這裏:http://jsfiddle.net/UpEPK/ – David
你的第二個例子很好 - 感謝您的幫助。 – RoyHB