jquery 调用函数后更改链接属性

tvz2xvvm  于 2023-11-17  发布在  jQuery
关注(0)|答案(1)|浏览(124)

在一个jQuery移动的应用程序中,我有一个列表视图,当点击它时,它会调用一个函数:

<a href="" onclick="OnSaveOrDelete(' + item.ID + ')" data-role="button" data-icon="star">Go home</a>

字符串
当点击上面的行链接时,它调用这个函数:

function OnSaveOrDelete(acID){
    
    if (localStorage.Favourites.indexOf("/" + acID + "/") >= 0)
    {
        alert('Ac Removed #' + acID);
        $(this).prop('data-icon','delete');
        var tmp = localStorage.Favourites;
        localStorage.Favourites = tmp.replace("/" + acID + "/", "");
    }
    else{ 
            alert('New Ac Saved #' + acID);
            localStorage.Favourites += "/" + acID + "/";
        }
}


当现有项目不在localStorage中时,我添加它,然后需要更改icon / data-icon属性。如上面的代码所示,我尝试通过以下方式完成此操作:

$(this).prop('data-icon','delete');


我也试过:

$(this).attr('data-icon','delete');


但是这两个都不起作用。我假设这是因为'$(this)'没有定义。
我如何更新我的代码来做我需要的事情?

0qx6xfy6

0qx6xfy61#

你可以把this传入:

onclick="OnSaveOrDelete(' + item.ID + ', this)"

function OnSaveOrDelete(acID, obj) {
    //$(obj) refers to the clicked element
    $(obj).prop('data-icon','delete');
}

字符串

相关问题