2011-04-05 154 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. 
} 
相关问题