javascript - 单击 div 时更改 div 文本和 CSS,并在再次单击时反转更改
问题描述
我有一个名为#increase-text-weight
“增加文本重量”的 div。
每当您单击它时,#post-content
应获取另一个名为 div 的内容,font-weight: 500
并将其文本#increase-text-weight
更改为“DECREASE TEXT WEIGHT”。
当 div 显示“DECREASE TEXT WEIGHT”并单击它时,
#post-content
应该会得到
font-weight: 300
并且
#increase-text-weight
应该将文本更改为“INCREASE TEXT WEIGHT”。
我怎样才能做到这一点?
编辑:
我曾尝试过这样做,getElementById
但没有奏效。
解决方案
由于您正在学习,因此这是使用两个类执行此操作的一种简短方法。
首先,id选择器$('#test')获取节点元素
然后将单击事件侦听器附加到引用。之后,选择器 $(this) 引用了事件附加函数中使用的选择器,在这种情况下,我们可以说 $(this) == $("#test")。
在点之后,jQuery .toggleClass() 方法从元素中添加或删除一个类,此外,如果您传递第二个 true 或 false 参数,该方法将分别添加或删除给定的类。
因此,如果您链接这两个 toggleClass() 如果它不存在则添加该类,如果存在则将其删除
$("#test").click(function(){ // also can be .on('click',function(){ ... })
$(this).toggleClass("decreased")
.toggleClass("increased");
});
.decreased {
font-weight: 100;
color: red;
cursor: pointer;
}
.increased {
font-weight: 300;
color: green;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test" class="decreased">Increase my font weight!</div>
推荐阅读
- windows - 根据部分文件名创建文件夹并将文件移动到创建的文件夹中
- swift - 如何在 Swift 中以编程方式旋转 USDZ 文件中的 3D 模型?
- python - 在python中将xml文件解析为数据框
- winapi - Win32 和 Bluemod+SR 之间的蓝牙配对 - 密码输入
- c# - 如何用字符串分隔的逗号填充 C# 列表框
- spring - Repository 没有保存数据 onError 方法,而保存了 Listener 的 onWrite 方法
- azure-devops-rest-api - 缺少工作项注释的 devops REST API asOf 参数
- openedge - 如何使数据库访问快速进展 4gl
- python-3.x - Python Kivy:如何将实例变量传递给另一个窗口(类)?
- android - 当应用程序关闭或不在前台工作时,如何从android中的服务器(xampp)获取数据?