如何在单击时更改按钮文本
How do I change my button text onclick?
我有一个jQuery幻灯片切换,我用它来显示和隐藏某些内容。它始终显示一个向下的箭头,但如果单击并显示文本,则箭头应指向上方。无论如何要这样做?
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("p").slideToggle();
});
});
</script>
<button>↓</button>
<p>Wow!</p>
</body>
</html>
就
这么简单!
var toggled = false;
$("button").click(function() {
if (!toggled) {
$(this).html("↑");
toggled = true;
} else {
$(this).html("↓");
toggled = false;
}
$("p").slideToggle();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>
↓
</button>
<p>
Wow!
</p>
工作演示
$(document).ready(function() {
$("button").click(function() {
$("p").slideToggle();
$(this).toggleClass('down up');
});
});
.down {
background-image: url("https://cdn3.iconfinder.com/data/icons/google-material-design-icons/48/ic_keyboard_arrow_down_48px-128.png");
height: 130px;
width: 130px;
}
.up {
background-image: url("https://cdn3.iconfinder.com/data/icons/google-material-design-icons/48/ic_keyboard_arrow_up_48px-128.png");
height: 130px;
width: 130px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="down"></button>
<p>Wow!</p>
试试这样的事情.. :)
$(document).ready(function(){
$("button").click(function(){
$("p").slideToggle();
$( this ).text('NewButtonText');
});
});
此解决方案检查按钮是否有指向"UP"的箭头,如果有,则将其替换为"DOWN",反之亦然。
$(document).ready(function(){
$("button").click(function(){
if ($(this).text() == 'up'){
$(this).html('↓')
}else{
$(this).html('up');
}
$("p").slideToggle();
});
});
https://jsfiddle.net/gogaa33d/
试试这个它会起作用:
更改slideToggle()
上的按钮html content
。
目录 :
<button id="up">↑</button>
<p>Wow!</p>
JQuery :
$(document).ready(function(){
$("button").click(function(){
var arrowId = $(this).attr('id');
if (arrowId == 'up') {
$("button").html('↓');
$(this).attr('id','down');
} else {
$("button").html('↑');
$(this).attr('id','up');
}
$("p").slideToggle();
});
});
演示 : https://jsfiddle.net/64a6fafh/1/
使用$("button").text('Button Clicked');
在单击时更改按钮的文本
$(document).ready(function(){
$("button").click(function(){
$("p").slideToggle();
$("button").text('Button Clicked');
});
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<button>↓</button>
<p>Wow!</p>
</body>
</html>
我的回答是基于Jorrex的回答。我喜欢使代码简短且可读。简单的逻辑应该是简单的代码。IMO 下一个示例更易于阅读,尤其是在文件中有大量代码的情况下。
此外,您可以轻松地使用普通的Javascript,使其更加轻量级。
var toggled = false;
$("button").click(function() {
this.innerHTML = !toggled ? "↑" : "↓";
toggled = !toggled; // flip the value
$("p").slideToggle();
});
基于
@Jorrex上述答案的建议。
您也可以使用例如按钮的类代替变量:
$("button").click(function() {
if (!$(this).hasClass('toggled')) {
$(this).html("↑");
} else {
$(this).html("↓");
}
$(this).toggleClass('toggled');
$("p").slideToggle();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>
↓
</button>
<p>
Wow!
</p>
这样,如果在同一页面上需要多个这样的按钮,则会容易得多。
编辑:即使你不打算在一个页面上使用多个这样的按钮,在这里不使用变量仍然更安全,因为$(document).ready(function(){
内的任何其他函数都可能干扰该变量 - 并让你浪费时间试图弄清楚为什么"奇怪的事情"(见这个例子(正在发生。(虽然错误在该示例中似乎很明显,但当代码库增长时,此类错误将变得更加难以发现。
相关文章:
- 我想重定向点击,然后更改按钮文本,我该怎么做
- 使用JavaScript将标题文本替换为按钮文本
- 将按钮文本从“;喜欢“;至“;喜欢“;单击时
- 如何在jQuery mobile中更改按钮文本
- 不便更改Javascript中的按钮文本
- 为什么我的导航按钮或按钮文本不会移动到中心
- 根据单选按钮值更改提交按钮文本
- 更改按钮文本
- 按钮文本中的新行
- 在呈现 D3 SVG 对象之前更改引导按钮文本
- 制作一个“;输入“;按钮文本不可编辑
- 通过引导程序加载/重置后更改按钮文本
- 动态创建的按钮文本
- jQuery移动列表过滤:如何更改清除按钮文本
- 如何使用JavaScript在点击时更改按钮文本
- sap.m.按钮文本格式化程序
- AngularJS按钮文本不起作用
- 如何在单击时更改按钮文本
- 使用Jquery仅切换按钮文本中的ASCII字符
- TinyMCE 编辑输入值和按钮文本