jquery:如果链接有目标空白,则添加类?

时间:2011-05-06 07:18:29

标签: javascript jquery hyperlink

嘿伙计们, 不应该这样吗?

//Add class if target blank
    $('.post .entry a').each(function() {
        if ( $(this).attr('target') == '_blank') ) {
            $(this).addClass('web');
        };
    });

这有什么不妥吗?

5 个答案:

答案 0 :(得分:9)

请尝试

//Add class if target blank
$('.post .entry a[target="_blank"]').addClass('web');

答案 1 :(得分:7)

你有一个额外的)。只需删除它就可以了:)

$('.post .entry a').each(function() {
    if ( $(this).attr('target') == '_blank') ) {
---------------------------------------------^
        $(this).addClass('web');
    };
});

答案 2 :(得分:2)

没关系。但这应该在document.ready中:

$(document).ready(function(){
   $('.post .entry a').each(function() {
        if ( $(this).attr('target') == '_blank') ) {
            $(this).addClass('web');
        };
    });
});

希望这会有所帮助。干杯

答案 3 :(得分:1)

你在if语句中有额外的)。把它拿走就可以了:

$('.post .entry a').each(function() {
    if ( $(this).attr('target') == '_blank' ) {
        $(this).addClass('web');
    };
});

更简单的方法是:

$('.post .entry a[target="_blank"]').each(function() {
    $(this).addClass('web');
});

也使用较少的代码。

实际上@ ariel的回答说明了一种更好的方法。

答案 4 :(得分:0)

我发现以下成功:

$('.post .entry a[href="_blank"]').addClass('web');