我刚开始学习JavaScript,我需要一些帮助。 我有一个HTML文件和一个CSS文件,我不作任何改变。 使用Javascript,我必须添加2个链接,它会隐藏和显示类“show”的段落。
当您在浏览器中打开HTML文件时,应该隐藏有问题的段落。如何用Javascript隐藏/显示文本 - 链接行为
我已经阅读了几乎所有关于隐藏/显示文本方法的文章,但我仍然无法解决问题,我似乎无法让我的链接正常工作。
这是我已经在我的JavaScript代码这么远:
window.onload = function(){
var par = document.getElementsByTagName("p");
var parArray = [];
for (var i=0 ; i < par.length; i++) {
if (par[i].getAttribute("class") === "show") {
parArray.push(par[i]);
par[i].style.display = "none";
}
}
console.log(par);
console.log(parArray);
for (i=0 ; i<parArray.length; i++) {
var a = document.createElement('a');
var linkText = document.createTextNode("Show more information");
a.appendChild(linkText);
a.title = "Show more information";
a.href = "#";
parArray[i].parentNode.appendChild(a);
}
}
我想打一个函数,它会在适当的行为添加到我的链接(显示文本和更改链接文本隐藏或隐藏文本并更改显示的链接文本),然后使用onclick事件处理函数调用该函数。
这里是我的html代码,以及:
<head>
<meta charset="utf-8">
<title>Javascript Hidden textarea</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<div id="content">
<div class="post">
<h3>
Title
</h3>
<p class="author">
paragraph One
</p>
<aside>
JavaScript
</aside>
<p>
paragraph two
</p>
<p class="show">
...We must hide this paragraph.
</p>
</div>
<div class="post">
<h3>
Title
</h3>
<p class="author">
paragraph One
</p>
<aside>
JavaScript
</aside>
<p>
paragraph two
</p>
<p class="show">
...We must hide this paragraph.
</p>
</div>
</div>
</div>
<script type="text/javascript" src="hidetext.js"></script>
</body>
</html>
预先感谢您!
为什么你的'for'循环嵌套?你可以修改HTML吗?只需将'style =“display:none;”'添加到隐藏页面以将其默认为false。您也无法将特定的按钮与特定的'show'元素链接起来,您必须为'onclick'处理程序添加一些内容以作为目标。你有没有考虑过使用jQuery? – Tony 2014-08-28 19:06:14
我不应该使用jQuery,我不能更改我的HTML代码或我的CSS代码。只是JavaScript代码。 – JoeyPan 2014-08-28 19:07:55