单击时用另一个div替换div

时间:2013-06-22 14:43:59

标签: javascript

现在我想要的是#youtube始终显示,但如果你点击它我想将它转换为#embed。无法上班。我的意思是它不做我刚才解释的事情。没有任何事情发生。

<div id="youtube" onclick="replace()" style="display:block">
<img src="http://img.youtube.com/vi/'.$id.'/1.jpg">
<span class="title"><font color="#999">YouTube&trade; Video:</font> '.$title.'</span>
<span class="views">Views: '.number_format($views).'</span>
<span class="description">'.$desc.'</span>
</div>

// show this only if they clicked on #youtube
<div id="embed" onclick="replace()" style="display:none">
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/$1?fs=1"</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param>
<embed src="http://www.youtube.com/v/$1?fs=1"
        type="application/x-shockwave-flash" allowscriptaccess="always" allowFullScreen="true" width="425" height="344">
</embed>
</object>
     </div>

JS:

function replace() {
document.getElementById(youtube).style.display="none";
document.getElementById(embed).style.display="block";
}

2 个答案:

答案 0 :(得分:2)

getElementById中您的div名称周围缺少引号:

function replace() {
    document.getElementById("youtube").style.display="none";
    document.getElementById("embed").style.display="block";
}

getElementById接受一个字符串,embed是一个标识符名称,你需要使用一个字符串文字,用它包裹它。

答案 1 :(得分:2)

只需引用div的名称

document.getElementById('youtube').style.display="none";
document.getElementById('embed').style.display="block";
相关问题