我知道,IE不支持,但我发现一个很酷的脚本在线,有人很慷慨地提供免费,但我不明白为什么它不工作。我一直盯着这几个小时,请指点我正确的方向!通过Classname脚本获取元素不工作
我的代码:
<script language="javascript" type="text/javascript" src="getbyclass.js"></script>
<script type="text/javascript" language="javascript">
function editToggle(toggle){
if (toggle == "off"){
getElementsByClassName("editp").style.display ="none";
document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"off\"); return false;\">>Edit Mode: <span style=\"color:red;\">OFF</span></a>";
toggle="on";
}else{
getElementsByClassName("editp").style.display ="inline";
document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"on\"); return false;\">>Edit Mode: <span style=\"color:green;\">on</span></a>";
toggle="off";
}
}
也:
echo "<span id=\"editToggle\"><a href=\"#\" onclick=\"editToggle(); return false;\">Edit Mode: <span style=\"color:red;\">OFF</span></a></span>";
从getbyclass.js
的代码可以看出here。
针对以下问题的答案,我已经试过这样:
function editToggle(toggle){
var list = getElementsByClassName("editp");
if (toggle == "off"){
//getElementsByClassName("editp").style.display ="none";
for (index = 0; index < list.length; ++index) {
list[index].style.display ="none";
}
document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"off\"); return false;\">>Editfalse;\">Edit Mode: <span style=\"color:red;\">OFF</span></a>";
toggle="on";
}else{
//getElementsByClassName("editp").style.display ="inline";
for (index = 0; index < list.length; ++index) {
list[index].style.display ="inline";
}
document.getElementById('editToggle').innerHTML="<a href=\"#\" onclick=\"editToggle(\"on\"); return false;\">>Editfalse;\">Edit Mode: <span style=\"color:green;\">on</span></a>";
toggle="off";
}
}
但它仍然没有工作。
代码打破的地方在哪里?如果你'console.log' /'alert' getElementsByClassName(“editp”)的内容'你看到了什么(在现代浏览器和IE7中)? 此外,不是使用toggle =“on”/“off”并检查字符串值,而是使用布尔值,即它们的用途:即'toggle = true',然后'if(toggle)' –
此外, “不工作”是什么意思?也许创建一个jsfiddle? – geekchic
它绝对没有。完全一样。 –