这个Javascript代码有什么问题?
我相信这个代码块上的某些内容没有正确编码,这使得它在XHTML1.0上不兼容 代码段折叠div,然后单击展开 有人能看出哪里出了问题吗这个Javascript代码有什么问题?,javascript,html,xhtml,dom-events,Javascript,Html,Xhtml,Dom Events,我相信这个代码块上的某些内容没有正确编码,这使得它在XHTML1.0上不兼容 代码段折叠div,然后单击展开 有人能看出哪里出了问题吗 <script type="text/javascript"> function toggle(div){ el = document.getElementById(div); if (el.style.display == 'none') { el.style.display = ''; } else {
<script type="text/javascript">
function toggle(div){
el = document.getElementById(div);
if (el.style.display == 'none')
{
el.style.display = '';
} else {
el.style.display = 'none';
}
}
</script>
功能切换(div){
el=document.getElementById(div);
如果(el.style.display==“无”)
{
el.style.display='';
}否则{
el.style.display='none';
}
}
我在
标签前面有这个。如果我删除DOCTYPE另一个菜单,我会停止工作,但是默认情况下,行会扩展,不会折叠。而不是el.style.display=''代码>尝试el.style.display='block'
您不应该设置style.display='
,而应该将其设置为'block'
、'inline'
或'table-row'
您应该检查传递的参数是否有效(例如,notundefined
、空字符串等)
您应该检查document.getElementById(div)
是否找到了该元素(例如,在加载文档时,即使是有效名称也不起作用,
在源代码中早于您所引用的元素)
您正在创建全局变量el
(将var
放在赋值前面)李>
W3C建议尽可能避免使用过渡DTD,现在可以不使用
和bgcolor
。使用XHTMLStrict,除非您不知道MIME类型是什么,否则请使用HTML5
div上的简单显示css属性出现问题。出现了标记错误。是否传入了div的ID而不是类?e)没有足够的信息来回答问题。这会更糟display=''
很好地恢复为默认值,可能需要是表行
,内联
,等等@porenel-是否在所有浏览器上都恢复为默认值?是。在任何情况下都是完美的.style
是HTMLstyle
属性的便捷接口。它不是元素的实际计算样式,因此删除覆盖没有什么害处(就像从HTML中删除style
属性没有害处一样)。