【发布时间】:2017-07-27 00:00:59
【问题描述】:
我是 javascript 新手,因为我跳过它并跳转到 jquery,现在我正在编写一个 javascript 代码,但我遇到了麻烦。我有多个具有相同类名的元素,每个元素下面是一个 a-tag。我想在单击它下面的按钮时隐藏/显示元素。我怎么能在javascript中做到这一点? (请不要使用 jquery)。
HTML
<div>
<div class="content">content 1</div>
<a class="show-more" onclick="toggleText();" href="javascript:void(0);">Show more</a>
</div>
<div>
<div class="content">content 2</div>
<a class="show-more" onclick="toggleText();" href="javascript:void(0);">Show more</a>
</div>
<div>
<div class="content">content 3</div>
<a class="show-more" onclick="toggleText();" href="javascript:void(0);">Show more</a>
</div>
CSS
.content {
display: none;
}
Javascript
var status = "less";
function toggleText1() {
if (status == "less") {
document.getElementsByClassName("content")[0].style.display = 'block';
document.getElementsByClassName("show-more")[0].innerText = "See Less";
status1 = "more";
} else if (status1 == "more") {
document.getElementsByClassName("content")[0].style.display = 'none';
document.getElementsByClassName("show-more")[0].innerText = "See More";
status1 = "less";
}
}
在我的原始代码中,我将我的内容命名为 content1、content2,将我的 a-tag 命名为 show-more1、show-more2,然后将我的函数命名为 toggleText1、toggleText2 等等。它有效,但我发现它效率低下。你们能指导我正确的道路吗?
【问题讨论】:
标签: javascript html show-hide getelementsbyclassname classname