2012-10-09 281 views
0

對於單元測試目的,我需要檢查jQuery對象的jQuery &對象的src對象屬性。 不幸的是,我無法通過DOM訪問該屬性。jQuery - 訪問對象屬性

這裏是初始化代碼以供參考:

$("#jquery_jplayer_1").jPlayer({ 
    ready: function (event) { 
     $(this).jPlayer("setMedia", { 
     mp3: "mysound.mp3" 
     }).jPlayer("play")); 
    } 
(...) 

螢火告訴我的財產,請訪問:

jPlayer.status.src 

但是,下面的代碼返回未定義的。

$("#jquery_jplayer_1").jPlayer().status.src 

這也返回一個未定義的。

$("#jquery_jplayer_1").jPlayer.status.src 

什麼是正確的路徑調用命令搶SRC價值?

感謝,

+0

jPlayer!= jPlayer() –

回答

3

如果沒記錯的話,我覺得它像...

$("#jquery_jplayer_1").data("jPlayer").status.src 
+0

非常感謝!這應該得到一杯啤酒;) – lewebdalex

0

您試圖訪問該對象的屬性jPlayer返回的功能。然而,你發佈的螢火蟲輸出說它不是返回值的屬性,而是它自身的函數的一個屬性。 jPlayer既是一個函數,也是一個具有屬性的對象。在JS所有功能都可以具有像任何其他對象屬性的對象 所以

jPlayer.status.src 

訪問由jPlayer 識別的功能/對象的狀態屬性而

jPlayer().status.src 

訪問src屬性通過調用由jPlayer標識的函數返回的對象的狀態屬性的src屬性

根據註釋

$(...)。jPlayer

是jQuery選擇的特性(一個通過jPlayer連接插件)該屬性不必是相同的標識由jPlayer標識符。 jPlayer標識符實際上是全局對象的屬性,所以它們可能會或可能不會相同。在你的情況下,他們是不一樣的或從螢火蟲線是不正確的/不完整的

+0

感謝您的回覆。如前所述(但是由管理員刪除),我應該提到'$(「#jquery_jplayer_1」)。jPlayer.status.src'也返回一個未定義的。 – lewebdalex

+0

@lewebdalex查看更新 –