如何使用notHasClass向链接添加Rel =属性?

时间:2014-09-09 02:01:42

标签: jquery

我想为所有没有 class =“hidden”的锚标记添加rel =“gallery”。

以下是我的尝试:

$(document).ready(function() {
    if (!$('a').hasClass('hidden')) {
    $('a.fancybox').attr('rel', 'gallery1');
});

它不起作用。我错过了什么?

4 个答案:

答案 0 :(得分:2)

我认为您需要的是属性rel="gallery1"所有非隐藏fancybox锚点,然后

$(document).ready(function () {
    $('a.fancybox').not('.hidden').attr('rel', 'gallery1');
});

如果页面中rel="gallery1"个元素没有a.fancybox类,则您的代码只会将属性anchor添加到页面中的所有hidden元素。

答案 1 :(得分:0)

也许广义的答案是这样的:

$(document).ready(function() {
    $('a').each(function(){
        if(!$(this).hasClass('hidden')){
            $(this).prop('rel', 'gallery1');
        }
    });
});

注意:我假设您有超过1个锚..

答案 2 :(得分:0)

如果您想要' gallery',请使用' gallery',而不是' gallery1'

$(document).ready(function() {
    $('a').each(function() {
        if(!$(this).hasClass('hidden')){
            $(this).prop('rel', 'gallery');
        }  
    }
});

另外,使用prop而不是attr

答案 3 :(得分:0)

尝试

$(document).ready(function() {
  $("a").not(".hidden").attr("rel", "gallery");
})

jsfiddle http://jsfiddle.net/guest271314/ntg55nos/