2013-04-24 72 views
-2

假设我有一个名为“videoplayer”的DIV--在这个DIV里面是一个图像。如何在单击链接时使用Javascript更改HTML的部分内容?

当单击链接时,是否有简单的方法来更改此DIV中的HTML代码?

例如,这是当前DIV:

<div class = "big_player" id="player1"> 
      <img src="whatever.jpg"> 
    </div> 

当用户点击一个链接,我想要的HTML更改为:

<div class = "big_player" id="player1"> 
      <script> 
       playVideo(file, stream, key); 
      </script> 
    </div> 

什么是实现最简单,最简单的方法这个?

+1

为了什么目的,你试图解决什么问题? – 2013-04-24 22:44:19

+0

当我们谈论jQuery时,那么点击事件就是你要找的东西。但是我建议在尝试实现复杂的东西之前阅读文档。 – 2013-04-24 22:48:32

+0

@DavidThomas看到这个页面:http://stackoverflow.com/questions/16181955/clever-work-around-for-my-current-script – 2013-04-24 23:03:40

回答

0

可以使用.html()方法,但如果你想只运行一个脚本就可以直接做..

所以

$('linkID').on('click', function(e){ 
    e.preventDefault(); 

    $('#player1').html('new html here'); 

}); 

或运行脚本,你可能更喜欢(如果满足您的需求

$('linkID').on('click', function(e){ 
    e.preventDefault(); 

    playVideo(file, stream, key); 

}); 
0

使用Javascript

<a id="link" onclick='change()' href="#">Link</a> 

<script> 
function change() 
{ 
    var script = document.createElement('script');    
    script.innerHTML = 'playVideo(file, stream, key);'; 
    p = document.getElementById("player1"); 
    p.innerHTML = ""; 
    p.appendChild(script); 
} 
</script> 

或加比指出,运行它直接

<script> 
    function change() 
    { 
    playVideo(file, stream, key); 
    } 
</script> 
+0

如果有多个视频通话?我共有12个视频,您分享的方法只支持一个链接/视频。 – 2013-04-25 01:21:50

0

编辑

试试这个:

$("img").on("click", function(e){ 

var content = "<script>" + 
        "playVideo(file, stream, key);" + 
       "</script>"; 

$(this).parent().html(content); 

}); 

只需确保的playVideo()和所有它的参数是存在的。如果它不起作用,请发送反馈意见。如果失败,我们可能会使用eval()

+0

如果我有多个视频/缩略图会怎么样? – 2013-04-25 21:30:09

+0

我编辑了我的答案。 – 2013-04-26 01:06:16

相关问题