html - 如何在点击 html 时更改显示/隐藏或剧透按钮的按钮文本,在以下代码中
问题描述
我想在用户单击时更改显示/隐藏按钮或扰流板按钮的文本。在默认情况下,按钮文本写为显示,当用户单击按钮时,按钮文本应替换为隐藏,如果用户单击隐藏,按钮文本应更改为显示。如何做到这一点,请任何人帮助我,我将非常感激。
<button title="Click to Show/Hide Content" type="button" onclick="if(document.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{document.getElementById('spoiler') .style.display='none'}">Show/Hide</button>
<div id="spoiler" style="display:none">
ADD YOUR HIDDEN CONTENT HERE
</div>
解决方案
您可以使用 pureJavaScript
或Jquery
来处理此问题。
在纯 Javascript 中:
您可以定义一个方法并检查元素样式属性。也是style.display
您应该检查的属性。
下面的代码解决了你的问题:
<script>
function toggle(){
var spolier = document.getElementById('spoiler');
if(spolier.style.display == "none"){
spolier.style.display= "block";
}
else {
spolier.style.display = "none";
}
}
</script>
<button title="Click to Show" type="button" onclick="toggle()">Show</button>
<div id="spoiler" style="display:none">
ADD YOUR HIDDEN CONTENT HERE
</div>
在jQuery中:
您应该检查attr
jquery 中的属性。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
function toggle(){
if ($('#spolier').attr("display") == "none"){
$('#spolier').attr('display', 'block');
} else{
$('#spolier').attr('display', 'none');
}
}
</script>
<button title="Click to Show" type="button" onclick="toggle()">Show</button>
<div id="spoiler" style="display:none">
ADD YOUR HIDDEN CONTENT HERE
</div>
推荐阅读
- java - 运行计数非重复子str操作时获取arrayindexoutofboundsexception
- facebook - 如何正式获取 Instagram 头像?
- python - 相同的关键发现值
- c++ - 从传感器获取后如何修复变量值
- sql-server - 对象名称“AMAPHLINK.Payroll.dbo.EmpResignTb”包含的前缀数量超过了最大数量。最大值为 2
- javascript - 在加载的网页顶部添加一个按钮
- java - 编写一个程序,将用户的输入作为数组接收,并将其与另一个数组进行比较,以使用 while 循环检查正确答案
- java - 从 Windows (DOS) shell 运行 Eclipse Java Maven 项目
- reactjs - 如何使用异步请求的响应初始化 Redux 状态
- assembly - 8085; 为什么 RET 不需要像 CALL 那样的 6 个 T 状态 Fetch 循环?