我有以下代码:
Entry 1 |
> Entry 2 |
|
Entry 3 |
Entry 4 |
和以下js:
function showHide(id) { var el = document.getElementById(id); if( el && el.style.display == 'none') el.style.display = 'block'; else el.style.display = 'none'; }
用这个css:
tr.odd{ background-color: #dedede; } tr.even{ background-color: #7ea9ff; } tr.clickable{ cursor: pointer; } tr.clickable:hover{ color: white; } tr[id^="sub"]{ display: none; }
有人可以告诉我,为什么它不起作用?我正试图显示/隐藏onclick与id ="sub2"的行
jsfiddle中的示例
运行代码时打开调试控制台,您将收到消息"ReferenceError:showHide is not defined".
如果您将html和javascript放在文件中并运行该特定问题已解决.它与jsfiddle处理源的顺序有关.
其次,你试图通过id获取一个元素,但是给它类名 - 这没有意义.通过给出元素id并使用它可以工作.
但这非常笨拙,只是解释了为什么它不起作用.raphael说,你最好使用jQuery.
编辑:用链接替换html
function showHide(id) { var el = document.getElementById(id); if( el && el.style.display == 'block') el.style.display = 'none'; else el.style.display = 'block'; }