【发布时间】:2012-06-27 23:51:04
【问题描述】:
我是 JavaScript 新手,现在真的很绝望
我有一个 HTML 文件:
- 从 XML 文件中获取数据并将它们显示在各种 div 中(例如)
- 这些 div 被类名(class='box')隐藏(默认)
- 单击链接时,我将“href”传递给函数 showContent,删除 #,然后在文档中查找具有该 ID 的元素。
- 然后我添加一个新的类名 ('show') - 以便显示该元素!
如果您运行代码,您会看到每次单击链接时都会显示一个新的 div...
所以目前的问题:
- 将已经显示的 div 替换为新的点击 ID,这样每次只显示一个 div。
- 如何避免在每个标记中插入 onClick 事件 - 并使其更加自动化?
我的代码如下:
function showContent(obj)
{
var linkTo = obj.getAttribute("href");
var newlinkTo=linkTo.replace('#','');
//alert (newlinkTo);
document.getElementById(newlinkTo).innerHTML=" This is where the xml variable content should go";
document.getElementById(newlinkTo).className += " Show";
return true;
}
<a href="#b0" onClick="return showContent(this);">
<div id="text_content"> link2 </div>
</a>
<a href="#b1" onClick="return showContent(this);">
<div id="text_content"> link 1 </div>
</a>
<div class='box' id='b0'> abstract content </div>
<div class='box' id='b1'> introduction content </div>
【问题讨论】:
-
可能不感兴趣,但 JQuery 是实现这些事情的一种相对简单的方法。
标签: javascript html css