通过id Javascript获取元素

时间:2011-04-05 18:30:36

标签: javascript javascript-events

我有一个视频列表和一个视频播放器(div容器)。单击链接时需要在div容器中显示视频。视频代码由第三方提供,因此我想创建一个条件语句来检查基于它的id点击的内容。但是根本不工作..我很确定是缺少一些语法......提前谢谢

<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>

5 个答案:

答案 0 :(得分:3)

您需要传递“this”值:

<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 ...
  //
}

答案 1 :(得分: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对象中获取它并在此基础上进行比较。

答案 2 :(得分:0)

document.getElementById("videoB")

您希望实际调用getElementById函数并将该ID作为参数传递。

目前的方式返回:

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
}

答案 3 :(得分:0)

如果那真的是你正在使用的代码,它就不起作用,因为你有一个拼写错误:你的HTML声明了两个ID,一个名为vidoeA,另一个名为vidoeB,而你的Javascript正在测试正确的拼写。

(您还需要在您的JS中将ID名称放在引号中)。

答案 4 :(得分: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.
}