Javascript 将默认元素设置为显示onload-mootools

Javascript 将默认元素设置为显示onload-mootools,javascript,mootools,element,Javascript,Mootools,Element,我是通过 我想让其中一个元素在默认情况下显示为onload。这可行吗 那代码相当严格。这些教程中有很多都非常糟糕/过时/与最佳实践脱节 无论如何,你应该换一些不那么干的东西。要使其按原样工作,您可以执行以下操作: $('twoB').fireEvent('click'); 但您确实应该重构到不与id和硬隐式绑定或内联CSS样式等耦合的东西 (function(){ var contentDivs = document.getElements('div.content'); do

我是通过


我想让其中一个元素在默认情况下显示为onload。这可行吗

那代码相当严格。这些教程中有很多都非常糟糕/过时/与最佳实践脱节

无论如何,你应该换一些不那么干的东西。要使其按原样工作,您可以执行以下操作:

$('twoB').fireEvent('click');
但您确实应该重构到不与id和硬隐式绑定或内联CSS样式等耦合的东西

(function(){
    var contentDivs = document.getElements('div.content');
    document.getElements('button.button-control').addEvent('click', function(e){
        contentDivs.addClass('hide');
        document.getElement('div.content.' + this.get('data-content')).removeClass('hide');
    });

}());

// pick one to show
document.getElement('button').fireEvent('click');
此文件的dom为:

<button class="button-control" data-content="content-one">one</button>
<button class="button-control" data-content="content-two">two</button>
<button class="button-control" data-content="content-three">three</button>

<div class="content hide content-one">
    one
</div>
<div class="content hide content-two">
    two
</div>
<div class="content hide content-three">
    three
</div>

-只需修改标记而不触摸代码,即可轻松添加更多项目

您可以在下面的代码行中尝试

  <body onLoad="setInterval('var elOneB = $('contentoneB');',1000)">


在“”部分之后。

感谢所有的输入-我找到了这个线程,它似乎解决了问题。 这与脚本在页面上的位置有关

谢谢两位!我在本页的右栏中尝试了上面的代码,但似乎无法找出我做错了什么。有什么想法吗?我真的很喜欢上面的代码,它非常优雅和简单,但是我似乎不明白为什么它不会删除本页右栏中的.hide类。我在你的小提琴中实现了它,但肯定缺少了什么。你只做了标记,但js代码不在那里。如果您只需将代码粘贴到控制台中,然后单击按钮,它就会工作。再次感谢Dimitar!我又看了一眼,当页面加载时,我似乎正在加载js文件TabPane.js。使用firebug我得到了这个错误-TypeError:document.getElement(…)是空文档。getElement('button')。fireEvent('click');我读到的是getElement查找的元素找不到正确的元素?这可能是问题吗?你的链接断了。。。也许是需要登录的页面?
.hide { 
    display: none; 
}
  <body onLoad="setInterval('var elOneB = $('contentoneB');',1000)">