2013-04-24 70 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

相關問題