How to find anchor without a specifc class using j

2019-03-07 04:28发布

问题:

I want to remove anchors with href contains "#tab" without a specific css class "atitleTabs" from some specific divs whose Id contains "tab". I have tried the following code it didn't work for me.

$(window).load(function () {

    $('div ul li a').filter(function () {
        if (!$('div ul li a').hasClass('atitleTabs')) {
            alert('Got Anchor without the particlauar class');
            alert($('div ul li a').attr('href'));
        } else {
            alert('Got Anchor with class');
        }

    });

});

How can i do it, please help me, how can i achieve my goal.

回答1:

Try to use attribute contains selector to achieve what you want,

$('div[id*="tab"] a[href*="#tab"]:not(".atitleTabs")').remove();

or just try the samething with .filter()

$('div[id*="tab"] a[href*="#tab"])').filter(':not(".atitleTabs")').remove();


回答2:

You can use attribute contains selector:

$('[id*="tab"]').find('[href*="#tab"]').remove();


回答3:

Try

$("[id*=tab]").find("[href*='#tab']").remove();

You can use attribute selector * for this purpose.

If you want to use startwith clause you can use ^.

If you want to use endswith clause, use $