javascript - JS 切换类

标签 javascript jquery

我被困在这个问题上。我有一个 ajax 函数发布到 php.帖子功能运行良好。我只是希望 css 在每次点击时打开和关闭,同时在每次点击时发布。

当我第一次单击“.fav-btn”按钮时,我希望将“fav-h”添加到类中以进行样式设置。同时发布到 php 脚本。

当我第二次单击“.fav-btn”按钮时,我希望删除“fav-h”并且按钮返回到原始样式。同时再次发布到 php 脚本。

我尝试过各种方法,包括 .removeclass。我的代码如下,我不确定如何在第二次单击时删除 fav-h 类样式。

$(document).ready(function(){ 
        var pageID = <?php echo $pageID  ?>; 
		var user_id = <?php echo $user_id ?>; 

        $('.fav-btn').click(function(){
            $(this).addClass('fav-h');
            $.ajax({
                type:"POST",
                url:"../ajax.php",
				data: { act: 'fav', pageID: pageID, user_id: user_id },
                success: function(){
                }
            });
        });
});

$(document).ready(function(){ 
        var pageID = <?php echo $pageID  ?>; 
		var user_id = <?php echo $user_id ?>; 

        $('.fav-btn fav-h').click(function(){
            $('.fav-btn fav-h').removeClass('fav-h');    
            $.ajax({
                type:"POST",
                url:"../ajax.php",
				data: { act: 'fav', pageID: pageID, user_id: user_id },
                success: function(){
                }
            });
        });
});

最佳答案

使用$.toggleClass()只有一段代码:

$(document).ready(function(){ 
    var pageID = <?php echo $pageID  ?>; 
    var user_id = <?php echo $user_id ?>; 

    $('.fav-btn').click(function(){
        $(this).toggleClass('fav-h');
        $.ajax({
            type:"POST",
            url:"../ajax.php",
            data: { act: 'fav', pageID: pageID, user_id: user_id },
            success: function(){}
        });
    });
});

PS:您的代码无法正常工作,因为您使用了$('.fav-btn fav-h'):

<div class="fav-btn">
    <fav-h></fav-h>   <!-- This is what this selector leads to -->
</div>

而不是正确的选择器$('.fav-btn.fav-h'):

<div class="fav-btn fav-h"></div>   <!-- Found the right one! -->

关于javascript - JS 切换类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29424452/

相关文章:

javascript - 插件未按预期工作,可能存在 Javascript/jQuery 变量范围问题

如果子元素处于事件状态,Jquery 选择父 li a

javascript - Redux - 正确调度操作

javascript - SlickGrid 列类型

javascript - 单击行按钮删除动态创建的表行

javascript - 如何将方法附加/扩展到 dom 元素

javascript - 从动态类名创建对象 - JS 中的 ReflectionClass?

javascript - 使用 JavaScript 进行回调

javascript - 在 HTML/JS/JQuery 中屏蔽单词

javascript - 输入设定值