对于单元测试目的,我需要检查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 值的正确路径命令是什么?
谢谢,
答案 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的行不正确/不完整