我有几个div使用从查询中获取的id,然后在一个函数中使用此id来显示/隐藏div onclick。我的问题是使用下面的代码,div似乎打开" show"改为"隐藏" (单击"隐藏"不会更改为"显示")但不显示div的内容。
的javascript:
function toggle(id) {
var ele = document.getElementById(id);
var text = document.getElementById(id);
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "show";
}
else {
ele.style.display = "block";
text.innerHTML = "hide";
}
}
PHP:
echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>";
echo"<div id='$id' style='display: none'></div>";
答案 0 :(得分:2)
你使用相同的ID两次是错误的,在你的标签中添加一个_toggle的id就可以解决这个问题。
将您的代码更改为此代码可能有效:
使用Javascript:
function toggle(id) {
var ele = document.getElementById(id);
var text = document.getElementById(id + '_toggle');
if(ele.style.display == 'block'){
ele.style.display = 'none';
text.innerHTML = 'show';
}else{
ele.style.display = 'block';
text.innerHTML = 'hide';
}
}
PHP:
echo 'Info: <a id="'.$id.'_toggle" href="javascript:toggle(\''.$id.'\');">show</a>';
echo '<div id="'.$id.'" style="display: none;"></div>';
答案 1 :(得分:0)
你对href和div使用相同的id
php:
echo "Info: <a id='$id' href='javascript:toggle(\"$id\");'>show</a>";
echo"<div id='$id' style='display: none'></div>";
更改A的$ id。