2011-11-04 32 views
1

我在學習JQuery,並且在類似於此的存儲庫中的其中一個插件中偶然發現了此腳本。JQuery將值傳遞給帶冒號的函數

var DOMChange = { 

    textchange: function(eID) { 
     $('document').ready(function() { 
      $('eID').text("test3"); 
     }); 
    } 
} 

DOMChange.textchange('p'); 

我似乎無法得到這個工作。這裏有什麼缺失嗎?

謝謝。

+0

但是,您希望發生什麼? – Strelok

+0

這應該是'$(document).ready(...' - 沒有引用'document'的引號嗎?如果不是這樣,那麼你將不得不給我們提供更多關於這個問題的信息。 – Lee

+0

我們需要更多的信息。發表的代碼似乎與您的主題問題沒有關係... – Yamiko

回答

1

試試這個:

var DOMChange = { 

    textchange: function(eID) { 
     $(document).ready(function() { 
      $(eID).text("test3"); 
     }); 
    } 
} 
+0

謝謝。如果沒關係,任何人都可以告訴我關於」textchange:「中的冒號以及它有什麼其他用途? –

+0

在你的代碼中,'DOMChange = {}'將它聲明爲一個對象,'textchange:function(){}'聲明瞭一個名爲'textchange'的對象的屬性,它的值是你聲明的函數。屬性如你想要的一樣,屬性定義的語法是帶有col的'propertyName:value'介於propertyName和value之間。如果你定義了多個屬性,你可以用逗號分隔它們。 – jfriend00

+0

謝謝。試圖在谷歌中找到答案。無法找到明確的答案。這個怎麼樣,這是可能的>> $(文件)。就緒( \t \t VAR DOME = { \t \t ChangeText:\t功能(DE){ \t \t $(DE)的.text( 「d」 ); \t} \t \t \t} \t \t DOME.ChangeText( 「#SideMenu麗」) ); –

0

只是對之前的響應你的問題是構建jQuery的對象擴大,你在引號包裹的eID。 $('eID') - 至少在語法上 - 試圖找到所有類型爲'eID'的元素......它不存在。 $(eID)將採用您傳遞給textchange的值/參數。你正在做同樣的$(文檔) - 應該是$(文檔)

我會補充說$(eID)將只在eID是DOM元素/對象或元素類型時才起作用。如果eID是一個表示元素ID的字符串,則需要使您的選擇如下所示:$('#'+ eID)

+0

非常感謝大拇指。 –