javascript - 根据单击哪个链接 div 的链接,使用 onlick 更改 div 类名称为 3 个 div
问题描述
我有三个 div,每个 div 里面都有一个链接,当点击一个链接时,我希望所有三个 div 的类名都改变,这取决于点击了哪个链接。
每个 div 的类名称为 w-33(这使 div 宽 33%),我需要将 div 类更改为 w-60 和 w-20。
我有它,所以当点击链接时类名会改变,但它只是让第一个 div w-60 和另外两个 w-20 无论点击哪个 div 链接,我不知道是否有更有效的方法为了使它包含被点击的链接的 div 是获得 w-60 类名的那个,而不是为每个链接创建三个单独的函数,所以任何帮助表示赞赏。
这是onclick之前的三个div
<div class="w-33" id="first-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
<div class="w-33" id="second-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
<div class="w-33" id="third-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
这是javascript
function changeclass() {
var NAME = document.getElementById("first-project")
NAME.className="w-60 ml-100 mp-100 project"
var NAME = document.getElementById("second-project")
NAME.className="w-20 ml-100 mp-100 project"
var NAME = document.getElementById("third-project")
NAME.className="w-20 ml-100 mp-100 project"
}
这是onclick之后的三个div
<div class="w-60" id="first-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
<div class="w-20" id="second-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
<div class="w-20" id="third-project">
<a class="learn-more" onclick="changeclass()">Learn More</a>
</div>
因此,如果单击第一个 div 中的链接,我需要它,它的类名将更改为 w-60,而其他两个类将更改为 w-20。如果点击第二个div中的链接,第一个和最后一个类将变为w-20,第二个变为w-60,如果点击第三个div的链接,则该div将获得w-60类名.
解决方案
嘿,你可以借助这样的参数来做到这一点
<div class="w-33" id="first-project">
<a class="learn-more" onclick="changeclass(1)">Learn More</a>
</div>
<div class="w-33" id="second-project">
<a class="learn-more" onclick="changeclass(2)">Learn More</a>
</div>
<div class="w-33" id="third-project">
<a class="learn-more" onclick="changeclass(3)">Learn More</a>
</div>
function changeclass(div_number) {
if(div_number==1)
{
document.getElementById("first-project").className="w-60 ml-100 mp-100 project";
document.getElementById("second-project").className="w-20 ml-100 mp-100 project";
document.getElementById("third-project").className="w-20 ml-100 mp-100 project";
}
if(div_number==2)
{
document.getElementById("second-project").className="w-60 ml-100 mp-100 project";
document.getElementById("first-project").className="w-20 ml-100 mp-100 project";
document.getElementById("third-project").className="w-20 ml-100 mp-100 project";
}
}
推荐阅读
- flutter - Flutter - 如何将 TextStyle 添加到 BottomNavigationBarItem 中的标签?
- python - 从两个不同的变量中找到平均值
- mongodb - Mongodb (code=exited, status=14) 失败但没有任何明确的错误
- javascript - javascript如何处理单线程的多个请求?
- kdb - 为键控表中的所有列选择不同的
- spring-boot - @EnableBatchProcessing 和 @DataJpaTest 在带有休眠的 Spring Boot 应用程序中
- powershell - 所有子文件夹中每个文件中的 Powershell 更新字符串
- html - java.lang.NumberFormatException: null with jsp 和 tomcat
- reactjs - 如何从反应中的测试覆盖率报告中找到未发现的功能
- ansible - Ansible 主机配置,一个哈希用于多个参数