2010-01-05 64 views
0

使用JavaScript創建對象後,我正在用jQuery訪問它來操縱它。下面是一些代碼來讓事情更清晰:使用jQuery訪問JavaScript對象

ObjectFunction = function(content) { 
    this.content = content 
} 

ObjectFunction.prototype = { 
    showobject : { return this.appendTo(document.body)} 
} 

obj = New ObjectFunction() 

我想這樣做的是如下,但語法是錯誤的:

$(obj).css{(background:'red')} 

這是行不通的。如果我創建原型的功能,這將是這個樣子,它的工作原理:

ObjectFunction.prototype = { 
showobject : { return this.appendTo(document.body)}, 
objectmodify: { return this.css{(background:'red')}} 
} 

// then call something like 
obj.objectmodify() 

有什麼辦法,以避免應用的對象上直接jQuery函數這個醜陋的代碼?

+0

請格式化您的代碼,這樣更具可讀性。 – Sietse 2010-01-05 09:59:39

+0

@Sietse - 編輯。 – 2010-01-05 09:59:57

+0

新的資本N不應該工作。在哪些瀏覽器上爲你工作? – slebetman 2010-01-05 10:03:27

回答

0

我認爲你必須寫:

$(obj).css("background","red"); 

$(obj).attr('style', 'background:red'); 
+0

這在javascript中沒有意義。應該是:'$(obj).css({'background':'red'})'。 jQuery是一個JavaScript庫,語言是STILL JavaScript。 – slebetman 2010-01-05 10:02:08

+0

@slebetman - 破碎的語法在原始問題中 - 看起來像是無意中複製粘貼給我的。 – 2010-01-05 10:04:57

+0

我試過,但它沒有工作。 如果我運行$(obj).size()結果是1但不知何故,我沒有看到對象的效果 – salmane 2010-01-05 10:05:28

1

$(OBJ)的.css {(背景: '紅')}

的這是錯誤的語法,你有圓括號,而且它是錯的 - 它應該是

$(obj).css({background:'red'});

1

我想出了答案。像往常一樣,它比我想象的要簡單。

創建的dom元素被引用爲javascript對象的屬性。在這種情況下可以通過obj.content訪問(參見上面的代碼),所以在這種情況下$(obj.content).css({background:'red'})。工作:)我希望這可以幫助那裏的人:)