我有一个 jQuery 函数,它将使用该超链接作为其源,用 jPlayer 替换每个超链接。 HTML 中的超链接如下所示:
<div>
<a href="demos/myfile.mp3" rel = 'jPlayer'>myfile</a>
</div>
到目前为止,我的 Javascript 内容是这样的:
$(document).ready(function() {
$('a[rel="jPlayer"]').jPlayer("setMedia", { mp3: $(this).attr("href") });
});
问题是我无法找出正确的选择器来获取现有超链接的值并将其用于代码中的 mp3: 源。也许我什至没有使用 $this 权利,或者也许这是我错过的完全不同的东西。
当我按原样运行代码时,我在 Firebug 中得到“a.attributes is null”。谁能帮忙解决这个问题吗?
最佳答案
问题在于你的脚本构造:
$('a[rel="jPlayer"]').jPlayer("setMedia", { mp3: $(this).attr("href") });
您将此值引用给 jPlayer,而不是选定的值。您应该以其他方式使用它,试试这个:
$('a[rel="jPlayer"]').jPlayer("setMedia", { mp3: $('a[rel="jPlayer"]').attr("href") });
或者甚至
var anchor = $('a[rel="jPlayer"]');
anchor.jPlayer("setMedia", { mp3: anchor.attr("href") });
关于jquery - 如何使用 jQuery 将超链接文本用作变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497207/