我在jquery中遇到addClass()
和removeClass()
函数的问题。当我使用该函数时,它替换了类。但它没有调用addded类函数。这是我的查询
HTML代码:
<div class="animation1 popbutton">Click Me</div>
Jquery:
$(".animation1").click(function(){
// my first function
});
$(".animation2").click(function(){
// my second function
});
我的添加和删除类函数是
$.ajax({
url : 'file.php',
data : postdata,
type : 'post',
success : function (saveresponseText)
{
$(".animation1").removeClass("animation1").addClass("animation2").html("Clicked");
}
});
如果单击animation1
,它将调用ajax函数,它将类名替换为animation2
,并且它具有一些单独的函数。怎么办呢?有人建议找到解决方案。
先谢谢,
答案 0 :(得分:3)
写作时
$(".animation1").click(function(){
// my first function
});
jQuery使用此类查找元素并向其添加clickhandler。该函数未绑定到css类。
我建议你在你的ajax响应中添加一个clickhandler ,或者有两个你可以隐藏/显示的按钮
答案 1 :(得分:2)
尝试通过文档添加事件处理程序:
$(document).on('click','.animation2',function(){
// my second function
});
答案 2 :(得分:1)
问题是你的ajax没有返回成功检查控制台日志。实际上问题不在于addClass和removeClass。见下面的例子。
在此示例中,当您单击文本单击我时,它将调用ajax请求并且ajax将导致错误,以便错误地编写代码
$(document).ready(function() {
$(".animation1").click(function() {
// my first function
clk()
});
$(".animation2").click(function() {
// my second function
});
function clk() {
$.ajax({
url: 'file.php',
type: 'post',
success: function(saveresponseText) {},
error: function(status) { $(".animation1").removeClass("animation1").addClass("animation2").html("Clicked");
}
});
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="animation1 popbutton">Click Me</div>
&#13;