如何将类添加到变量的链接

时间:2012-09-22 15:00:51

标签: jquery

我使用免费的punBB脚本,用户个人资料的链接如下:/u1/u2/u3等。

当有人将光标交叉到用户链接时,我尝试创建工具提示,但首先,我需要为这些链接添加一个类,我不知道如何,因为它对每个用户都不同。 / p>

对于我使用的单个链接:

$(function() {

    jQuery('a').each(function() {
        if(jQuery(this).attr("href") == "/u1") {
            $(this).addClass('profile');
        }
    });

});

4 个答案:

答案 0 :(得分:2)

试试这个:

$('a[href^="u/"]').addClass('profile')

答案 1 :(得分:1)

尝试indexOf,并将/ u1更改为更具体的/ usr1,/ usr2

$(function() {

jQuery('a').each(function() {
    if(jQuery(this).attr("href").indexOf("/usr") != -1) {
        $(this).addClass('profile');
    }
});

});

答案 2 :(得分:1)

正如其他答案中所提到的,我假设你不能只是首先将类添加到HTML输出中。如果您可以修改脚本,我建议这样做,否则,上面的一般方法会起作用,虽然我认为这将是性能和精度的更好组合:

    $(function() {
        // Only fetch link elements with HREF beginning with "/u"
        $('a[href^="/u"]').each(function() {
            // For each of these elements, make sure its HREF actually matches the pattern
            // "/u" + <digits> before adding class
            if (/^\/u\d+$/.test($(this).attr('href'))) {
                $(this).addClass('profile');
            }
        });
    });

答案 3 :(得分:0)

您可以使用正则表达式来模式匹配用户链接

// pattern match /u999
var uregex = /\/u\d+/;

$(function() {
    jQuery('a').each(function() {
        // get href value
        var href = jQuery(this).attr("href");
        // test to see if it matches the user profile pattern
        if(uregex.test(href)) {
            $(this).addClass('profile');
        }
    });
});