2011-04-05 160 views
0

我有一個視頻列表和一個視頻播放器(div容器)。點擊鏈接時需要在div容器中顯示視頻。視頻代碼由第三方提供,所以我想創建一個條件語句來檢查基於它的id的點擊。但不工作。我敢肯定是一些語法失蹤...在此先感謝通過id獲取元素Javascript

<script type="text/javascript"> 
function showVideo() 
{ 

if(document.getElementById == videoA) 
{ 
    alert("videoA") 
} 

if(document.getElementById == videoB) 
{ 
    alert("videoB") 
} 
} 
</script> 

-------------------- 
<a href="#" id="vidoeA" onClick="showVideo()">Video A</a> 
<a href="#" id="vidoeB" onClick="showVideo()">Video B</a> 
+0

對不起小姐法術(閱讀障礙。)......和感謝你這麼對所有答覆。你們是拯救者...... – rex 2011-04-05 18:56:29

回答

3

您需要在 「這個」 值傳遞:

<a href="#" id="vidoeA" onClick="showVideo(this)">Video A</a> 

或:

<a href="#" id="vidoeA" onClick="showVideo('videoA')">Video A</a> 

然後在處理程序:

function showVideo(anchor) { // assumes you used "this", like the 1st example 
    var videoId = anchor.id; 
    // 
    // ... show the video or whatever ... 
    // 
} 
+2

謝謝upvoters,因爲我沒有注意到我剛剛修復的錯字:-) – Pointy 2011-04-05 18:41:50

0
document.getElementById("videoB") 

你要實際調用的getElementById功能,並通過在ID爲paramater。

目前的方式回報:

document.getElementById 
>>function getElementById() { [native code] } 

所以你實際上是比較函數指針變量videoA(實際上不似乎在代碼中存在)。

但是,根據您的應用程序判斷,我實際上會附加一個onclick處理程序以查看哪個被點擊。

<a href="#" id="videoA" onClick="videoEvent(this)">Video A</a> 

,並在你的JavaScript:

function videoEvent(videoLink){ 
    // videoLink is now the ahref element 
} 
2

你需要調用的getElementById並傳入元素作爲參數傳遞的ID:

if(document.getElementById("videoA")) 

,你實際上已經包含在HTML有ID拼錯

<a href="#" id="vidoeA" onClick="showVideo()">Video A</a> 
<a href="#" id="vidoeB" onClick="showVideo()">Video B</a> 

應是

<a href="#" id="videoA" onClick="showVideo()">Video A</a> 
<a href="#" id="videoB" onClick="showVideo()">Video B</a> 

您構建代碼的方式將會顯示兩個元素的警報。如果你想要單擊的元素的id,你必須從Event對象中獲取它並在此基礎上進行比較。

0

如果這真的是你使用的代碼,它不起作用,因爲你有一個錯字:你的HTML聲明瞭兩個ID,一個叫vidoeA,另一個叫vidoeB,而你的Javascript正在測試正確的拼寫。

(您還需要在ID中加上引號中的ID名稱)。

0

你真正想要的是像this

HTML
注:您的ID是在你的問題中拼寫錯誤。

<a href="#" id="videoA" onClick="showVideo(this)">Video A</a> 
<a href="#" id="videoB" onClick="showVideo(this)">Video B</a> 

的JavaScript

function showVideo(elem) { 
    if(elem.id == "videoA") { 
     alert("videoA") 
    } 
    if(elem.id == "videoB") { 
     alert("videoB") 
    } 
    //or better yet, just: 
    //alert(elem.id); 
    return false; //Stops you from following the link. 
} 
相關問題