Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确地使iframe src等于我的变量所等于的值?_Javascript_Jquery_Html_Iframe - Fatal编程技术网

Javascript 如何正确地使iframe src等于我的变量所等于的值?

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

我正试图使它成为无论我的变量“cover”在我的html正文中等于什么,iframe都将使用它作为源。我的js文件中有如下设置:

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文件进行一些挖掘。非常感谢