Javascript 如何正确地使iframe src等于我的变量所等于的值?
我正试图使它成为无论我的变量“cover”在我的html正文中等于什么,iframe都将使用它作为源。我的js文件中有如下设置:Javascript 如何正确地使iframe src等于我的变量所等于的值?,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我正试图使它成为无论我的变量“cover”在我的html正文中等于什么,iframe都将使用它作为源。我的js文件中有如下设置: var cover = elem.attr('myFrame'); var cover = document.getElementById("myFrame"); $('.player .cover').attr('src','http://fakeurl.com/' + cover+''); 然后我在html正文的一部分中有这样的内容: <if
var cover = elem.attr('myFrame');
var cover = document.getElementById("myFrame");
$('.player .cover').attr('src','http://fakeurl.com/' + cover+'');
然后我在html正文的一部分中有这样的内容:
<iframe class="cover" id="myFrame"></iframe>
<ul id="audioplayer" class="playlist visible">
<li audiourl="1.mp3" cover="fakeurl1" artist="pinkzebra" album="AudioJungle">In the Moment of Inspiration</li>
<li audiourl="2.mp3" cover="fakeurl2.html" artist="pinkzebra" album="AudioJungle">Inspiring Ideas into Motion</li>
<li audiourl="3.mp3" cover="fakeurl3.html" artist="pinkzebra" album="AudioJungle">Peaceful Dawn</li>
<li audiourl="1.mp3" cover="fakeurl4.html" artist="pinkzebra" album="AudioJungle">Photos and Memories</li>
<li audiourl="2.mp3" cover="fakeurl5.html" artist="pinkzebra" album="AudioJungle">Soaring Spirit</li>
</ul><!-- /.playlist -->
灵感瞬间
- 激发灵感
和平黎明
照片和记忆
- 翱翔精神
iframe显示正确的url(例如fakeurl.com),但它没有添加与url相等的内容,而是输入[object HtmlFrameElement]
有没有办法让它说(例如,)。
这是一个音乐播放列表,因此每当某个音频为纯音乐时,iframe将等于该歌曲的任何cover=这里的连接方式是错误的
.attr('src','http://fakeurl.com/' + cover+'');
而是这样做(这只是基于您的方法。我不确定为什么您要声明两个cover
var)
var url = 'http://fakeurl.com/' + cover
$('.player .cover').attr('src',url);
或者更优雅,我会直接这样设置
document.getElementById('myFrame').src = 'fixed url' + cover
当您使用jQuery时,为什么要使用
getElementById
var cover = $('#cover');
您还声明了两次cover
,我看不到带有.player
类的HTML元素,也看不到带有myFrame
属性的HTML元素。您的代码基本上将iframe引用的字符串表示形式设置为它自己的src属性
除此之外,我认为你想做的是:
$(function(){
// When a playlist item is chosen
$('#audioplayer li').click(function(){
// Set the iframe src attribute to fakeurl.com
// with the playlist item's cover attribute appended
$('#myFrame').attr('src','http://fakeurl.com/'+$(this).attr('cover'));
});
});
看看这把小提琴
我不明白您在代码的前两行中做了什么。什么是
elem
?为什么您要声明cover
两次?为什么您可以像document.getElementById('myFrame')那样设置.src='your url'
这是一个音乐播放列表,所以每当某个音频是纯音乐时,iframe将等于该歌曲的任何cover=我现在这样做了:var url2=''+cover var cover=elem.attr('myFrame'));现在,iframe将我带到var url2='fakeurl.com/';+cover
的;
而不是what cover equals,然后再与cover
值连接。您能警报(cover)吗
看看会发生什么?谢谢你的时间!我提醒了cover,窗口会弹出空窗口,没有url文本或任何东西。很明显,你的cover
变量(包含url的部分)是空的。尝试与其他值连接将不会产生任何结果。如何获取变量cover
的值从您的代码var cover=document.getElementById(“myFrame”);
它只保存一个控件的引用。但是,由于这是一个音乐播放器,它只在您单击要播放的歌曲时起作用,而不必在“选中”歌曲时起作用但这是另一个故事,可能更复杂,我将尝试找出如何在歌曲实际播放时使用cover变量,我只需要对音频播放器javascript文件进行一些挖掘。非常感谢