使用JQuery从Href元素中删除类

时间:2018-01-25 19:41:16

标签: jquery

我有一个日历,今天输出为这样的href标签:

<a class="ui-state-default ui-state-active" href="#">26</a>

所有其他日子看起来像这样:

<a class="ui-state-default" href="#">27</a>

当页面加载时,我想删除 ui-state-active 类,我不希望这一天最初突出显示。这意味着页面加载后所有日子应如下所示:

<a class="ui-state-default" href="#">26</a>

我尝试过以下方法:

//WordPress Format
jQuery(document).ready(function( $ ) {
    //Doesn't work
    $('.ui-state-default .ui-state-active').removeClass('ui-state-default ui-state-active').addClass('ui-state-default');
    //Tried to remove the default to see was that possible, didn't work
    $("ui-state-default").removeClass("ui-state-default");
    //Console log to know the script fired  
    console.log('fired');
});

但我没有成功。

根据评论更新了代码:

//WordPress Format
jQuery(document).ready(function( $ ) {
    //Doesn't work
    $('a').removeClass('ui-state-active');

    //Updates all links, except the calendar links
    $('a').addClass('colin');

    //Console log to know the script fired  
    console.log('fired');
});

2 个答案:

答案 0 :(得分:0)

你错过了

中的点
$("ui-state-default").removeClass("ui-state-default");

应该是

$(".ui-state-default").removeClass("ui-state-default");

答案 1 :(得分:0)

在此:

$('.ui-state-default .ui-state-active')

你不应该在课程之间留一个空格。这意味着class="ui-state-default"的后代有class="ui-state-active"。由于这些类在同一个元素上,而不是父元素和后代元素,因此应该将它们连接起来。

$('.ui-state-default.ui-state-active')

如果这不起作用,问题可能是该页面首次加载时该类不在该元素上。如果这是在jQuery UI Datepicker中,则在调用$(selector).datepicker()或打开datepicker小部件时动态添加类。您可能需要在适当的回调选项中执行您想要的操作。