如何使用Javascript更改视频标签上的src?

如何使用Javascript更改视频标签上的src?,javascript,html,canvas,Javascript,Html,Canvas,我希望能够点击下面列出的链接,该链接将为我的视频播放器加载一个变量,该变量是我想在我的网站上播放的电影。我无法让它播放或加载,甚至无法显示标签的警报消息 新方法: function setMovie(dir,movie){ alert('Entered function setMovie'); var m = document.getElementById("movie"); var s = m.getElementsByTagName('sour

我希望能够点击下面列出的链接,该链接将为我的视频播放器加载一个变量,该变量是我想在我的网站上播放的电影。我无法让它播放或加载,甚至无法显示标签的警报消息

新方法:

    function setMovie(dir,movie){
    alert('Entered function setMovie');
        var m = document.getElementById("movie");
        var s = m.getElementsByTagName('source')[0];
        var temp = dir + '\';
            temp = temp + movie;
            s.setAttribute('source',temp);
        alert(temp);
    }

    function setM(){
    alert("Test");
    }
视频标签:

  <video id="mm" width="520" height="340" controls>
        <source src="movie.mp4" type="video/mp4">
  </video>
www.jamesbond.sw是我自己使用的测试网站

如果您注意到变量名被截断,并且缺少零和变量的其他部分。我想知道为什么会这样

<li><a onclick="setM();">Test</a></li>
所有源代码:

这是仍然不起作用的新源代码。www.jamesbond.sw是我的主页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Moviereviews</title>
    <link   rel="shortcut icon" type="image/x-icon" href="css/images/favicon.ico"/>
    <link   rel="stylesheet"    type="text/css" href="css/style.css"    media="all"/>
    <link   rel="stylesheet"    type="text/css" href="css/colorbox.css" media="all"/>
    <script src="js/functions.js" type="text/javascript"></script>
    <script type="text/javascript">
        function setMovie(dir,movie){
        alert('Entered function setMovie');
            var m = document.getElementById("movie");
            var s = m.getElementsByTagName('source')[0];
            var temp = dir + '\';
                temp = temp + movie;
                s.setAttribute('src',temp);
        }

        function setM(){
        alert("Test");
        }
    </script>
</head>
<body>
<br>
 <div id="wrapper">
        <div class="light-bg">
            <div class="shell">
                <div class="header">
                    <div class="socials">
                        <a href="http://www.facebook.com" class="facebook-ico">facebook-ico</a>
                        <a href="http://www.twitter.com"  class="twitter-ico">twitter-ico</a>
                        <a href="http://www.youtube.com"  class="you-tube-ico">you-tube-ico</a>
                    </div>
                    <h1 id="logo"><a href="www.jamesbond.ws">Moviereviews</a></h1>
                    <nav id="navigation">
                        <ul>
                            <li><a href="www.jamesbond.ws">The James Bond Movie Site</a></li> <!--can be repeated to make new cells -->
                        </ul>
                    </nav>
                    <div class="cl">&nbsp;</div>
                </div>
            <div class="main">
                    <section class="content">
                        <div class="post">
                            <div class="post-inner">
                                <div class="img-holder">
                                    <center>
                                        <video id="movie" width="520" height="340" controls>
                                               <source src="M\00203.144p.mp4" type="video/mp4">
                                        </video>
                                    </center>
                                </div>
                            </div>
                        </div>
                    </section>
               <div class="post">
                    <aside class="sidebar">
                        <div class="widget">
                            <h3 class="widgettitle">James Bond Movies</h3>
                            <ul>
                                <li><a onclick="setM();">Test</a></li>
                                <li><a onclick="setMovie('M','00098.144p.mp4');">Dr. No. (1962)</a></li>
                                <li><a onclick="setMovie('M','00098.144p.mp4');">From Russia With Love (1963)</a></li>
                                <li><a onclick="setMovie('M','00202.144p.mp4');">Goldfinger (1964)</a></li>
                                <li><a onclick="setMovie('M','00203.144p.mp4');">Thuderball (1965)</a></li>
                                <li><a onclick="setMovie('M','00204.144p.mp4');">You Only Live Twice (1967)</a></li>
                                <li><a onclick="setMovie('M','00205.144p.mp4');">On Her Majesty's Secret Service (1969)</a></li>
                                <li><a onclick="setMovie('M','00206.144p.mp4');">Diamonds Are Forever (1971)</a></li>
                                <li><a onclick="setMovie('M','00207.144p.mp4');">Live and Let Die (1973)</a></li>
                                <li><a onclick="setMovie('M','00208.144p.mp4');">The Man with the Golden Gun (1974)</a></li>
                                <li><a onclick="setMovie('M','00209.144p.mp4');">The Spy Who Loved Me (1977)</a></li>
                                <li><a onclick="setMovie('M','00210.144p.mp4');">Moonraker (1979)</a></li>
                                <li><a onclick="setMovie('M','00211.144p.mp4');">For Your Eyes Only (1981)</a></li>
                                <li><a onclick="setMovie('M','00212.144p.mp4');">Octopussy (1983)</a></li>
                                <li><a onclick="setMovie('M','00213.144p.mp4');">A View To A Kill (1985)</a></li>
                                <li><a onclick="setMovie('M','00214.144p.mp4');">The Living Daylights (1987)</a></li>
                                <li><a onclick="setMovie('M','00215.144p.mp4');"></a></li>
                                <li><a onclick="setMovie('M','00216.144p.mp4');">Licence to Kill (1989)</a></li>
                                <li><a onclick="setMovie('M','00217.144p.mp4');">Goldeney (1995)</a></li>
                                <li><a onclick="setMovie('M','00218.144p.mp4');">Tomorrow Never Dies (1997)</a></li>
                                <li><a onclick="setMovie('M','00219.144p.mp4');">The World is Not Enough (1999)</a></li>
                                <li><a onclick="setMovie('M','00220.144p.mp4');">Die Another Day (2002)</a></li>
                                <li><a onclick="setMovie('M','00221.144p.mp4');">Casino Royal (2006)</a></li>
                                <li><a onclick="setMovie('M','00222.144p.mp4');">Quantum of Solace (2008)</a></li>
                                <li><a onclick="setMovie('M','00223.144p.mp4');">Skyfall (2012)</a></li>
                            </ul>
                        </div>
                    </aside>
                </div>
            </div>
        </div>  
    </div>
 </div> 

<iframe width="620" height="438" src="http://www.playmycode.com/play/embed/jayenkai/space-clusters" 
       marginheight="0" marginwidth="0" scrolling="no" frameborder="0" style="border: none; border-size: 0; overflow: hidden; overflow-x: hidden; overflow-y: hidden;">
</iframe>

</body>
</html>
我开始怀疑onclick是否有效。测试功能没有显示警报框,因此我不能完全确定为什么会出现这种情况

<li><a onclick="setM();">Test</a></li>
getElementsByTagName'source'[0]将获取您要查找的第一个元素


setAttribute'src',name;将第一个的src=更改为传递给函数的值。

首先,需要对onclick属性值中的双引号进行转义,或者将其转换为单引号。我更改了此选项,但仍然不起作用。变量在变量的一侧被截断。我将看看这是否有效。“source”和[0]的实际含义是什么?我是set属性上的课程它必须是source还是src?我仍然无法让它处理变量。属性应该是src。
<li><a onclick="setM();">Test</a></li>
function setMovieName(name){
    var vid = document.getElementById('mm');
    var src = vid.getElementsByTagName('source')[0];
    src.setAttribute('src',name);
}