jQuery - 访问对象属性

时间:2012-10-09 10:26:01

标签: jquery jplayer

对于单元测试目的,我需要检查jQuery&的 src 对象属性。 jPlayer对象。 不幸的是,我无法通过DOM访问该属性。

以下是参考的初始代码:

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

Firebug告诉我的财产可以在:

jPlayer.status.src

但是下面的代码返回一个未定义的。

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

这也会返回一个未定义的。

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

调用和获取 src 值的正确路径命令是什么?

谢谢,

2 个答案:

答案 0 :(得分:3)

如果记忆正确地为我服务,我认为它就像......

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

答案 1 :(得分:0)

您正在尝试访问jPlayer函数返回的对象的属性。然而,你发布的firebug输出表明它不是返回值的属性,而是它自身功能的属性。 jPlayer既是函数又是具有属性的对象。 JS中的所有函数都是可以具有任何其他对象的属性的对象 所以

jPlayer.status.src

访问jPlayer标识的函数/对象的status属性的src属性 而

jPlayer().status.src

通过调用jPlayer标识的函数访问返回的对象的status属性的src属性

根据评论

$(...)。jPlayer

是jQuery选择器的属性(通过jPlayer插件附加的属性),该属性不必与jPlayer标识符标识的属性相同。 jPlayer标识符实际上是全局对象的属性,因此它们可能或者它们可能不相同。在你的情况下,它们不一样,或者来自firebug的行不正确/不完整