如何使用JQuery更改链接内的字体类名

sq1bmfud  于 2022-10-22  发布在  jQuery
关注(0)|答案(1)|浏览(131)

单击Javascript和jQuery的链接后,我尝试更改字体类名。

按钮示例:

<a class='pe-1' onclick='change(this, 24)'><i class='bx bx-bookmark'></i></a>

如果我在下面尝试这种方法,将从链接更改类,而不是从字体更改类。。。

功能示例1:

function change(button, id) {

var changeButton = $(button);

changeButton.removeClass("bx-bookmark").addClass("bxs-bookmark");

}

不幸的是,这样做(就像我下面的例子)对我来说并不是很有效,因为它会改变所有帖子的值,而不仅仅是一个帖子。

功能示例2:

function change(button, id) {

var changeButton = $(button);

$(".bx").removeClass("bx-bookmark").addClass("bxs-bookmark");

}

我错过了什么?

j2cgzkjk

j2cgzkjk1#

您通常会使用$(this).find('bx').removeClass("bx-bookmark").addClass("bxs-bookmark");查找单击的链接中的子级
这里有一种方法,您可以在html中不使用onclick属性
我甚至做了一个切换:-)

<a class='pe-1'><i class='bx bx-bookmark'></i></a>
$(document).ready(function() {

    // on any .pe-1 click
    $('.pe-1').click(function(){

        // find the child with the class .bx
        target = $(this).find('.bx');

        // if it has class bx-bookmark
        if (target.hasClass('bx-bookmark')){
            // remove it and add bxs-bookmark
            target
                .removeClass("bx-bookmark")
                .addClass("bxs-bookmark");
        }else{
            // we assume it has bxs-bookmark already
            //  so swap it back
            target
                .removeClass("bxs-bookmark")
                .addClass("bx-bookmark");
        };
    });

});

我不知道id是为了什么,所以我删除了它。如果这很重要,请告诉我它的用途,我会找到解决方案。
希望这有帮助!

相关问题