现在我想要的是#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™ 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";
}
答案 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";