jquery 单击时更改 class 按钮内的跨度
jquery change class of a span inside a button on click
我有一个如下所示的按钮,我想更改其上的 class span 名称。但是下面的代码不起作用。我该怎么做?
<button id="btn_new">
<span class="ui-icon ui-icon-plus"></span>new
</button>
jquery代码:
$('#btn_new').click(function({
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
我也试过这个:
$('#btn_new').click(function({
$(this).find('span').removeClass('ui-icon-plus').addClass('ui-icon-tick');
});
$('#btn_new').click(function(e){
e.preventDefault();
var caption=$.trim($(this).text());
var icon=$(this).find('span');
if(caption == 'new'){
$(this).text('save');
icon.toggleClass('ui-icon-plus ui-icon-check');
}
});
您忘记在点击事件中关闭括号。 function()
$('#btn_new').click(function(){ //Here
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus').toggleClass('ui-icon-tick');
});
请试试这个
$(document).ready(function(){
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
});
另外请不要忘记添加
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
如果没有添加
我在这里试过,但使用了不同的 class
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn_new").click(function(){
$(this).find('span').toggleClass('main');
});
});
</script>
<style>
.main {
font-size: 120%;
color: red;
}
</style>
</head>
<body>
<button type="button" id="btn_new">
<span class="main">new</span>
</button>
</body>
</html>
它的工作原理
好吧,你可以像这样尝试 removeClass 和 addClass
$('#btn_new').click(function({
$(this).find('span').removeClass('ui-icon-plus');
$(this).find('span').addClass('ui-icon-tick');
});
请试试这个:
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
谢谢大家:
它的工作。我的错误是我更改了按钮文本,当 span 在按钮内时,我的代码删除了 span 并在其上添加了新文本。我放了另一个跨度,现在它开始工作了。
我的html:
<button id="btn_new"><span class="ui-icon ui-icon-plus"></span><span>new</span></button>
我的jquery:
$('#btn_new").click(function(){
var caption=$(this).find('span:last').text();
if(caption =='new'){
$(this+'span:last').text('save');
$(this+'span:first').toggleClass('ui-icon-plus ui-icon-tick');
}
}
我有一个如下所示的按钮,我想更改其上的 class span 名称。但是下面的代码不起作用。我该怎么做?
<button id="btn_new">
<span class="ui-icon ui-icon-plus"></span>new
</button>
jquery代码:
$('#btn_new').click(function({
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
我也试过这个:
$('#btn_new').click(function({
$(this).find('span').removeClass('ui-icon-plus').addClass('ui-icon-tick');
});
$('#btn_new').click(function(e){
e.preventDefault();
var caption=$.trim($(this).text());
var icon=$(this).find('span');
if(caption == 'new'){
$(this).text('save');
icon.toggleClass('ui-icon-plus ui-icon-check');
}
});
您忘记在点击事件中关闭括号。 function()
$('#btn_new').click(function(){ //Here
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus').toggleClass('ui-icon-tick');
});
请试试这个
$(document).ready(function(){
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
});
另外请不要忘记添加
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
如果没有添加
我在这里试过,但使用了不同的 class
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn_new").click(function(){
$(this).find('span').toggleClass('main');
});
});
</script>
<style>
.main {
font-size: 120%;
color: red;
}
</style>
</head>
<body>
<button type="button" id="btn_new">
<span class="main">new</span>
</button>
</body>
</html>
它的工作原理
好吧,你可以像这样尝试 removeClass 和 addClass
$('#btn_new').click(function({
$(this).find('span').removeClass('ui-icon-plus');
$(this).find('span').addClass('ui-icon-tick');
});
请试试这个:
$('#btn_new').click(function(){
$(this).find('span').toggleClass('ui-icon-plus ui-icon-tick');
});
谢谢大家: 它的工作。我的错误是我更改了按钮文本,当 span 在按钮内时,我的代码删除了 span 并在其上添加了新文本。我放了另一个跨度,现在它开始工作了。
我的html:
<button id="btn_new"><span class="ui-icon ui-icon-plus"></span><span>new</span></button>
我的jquery:
$('#btn_new").click(function(){
var caption=$(this).find('span:last').text();
if(caption =='new'){
$(this+'span:last').text('save');
$(this+'span:first').toggleClass('ui-icon-plus ui-icon-tick');
}
}