0

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

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

对于我使用的单个链接:

$(function() {

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

});
4

4 回答 4

2

尝试这个:

$('a[href^="u/"]').addClass('profile')
于 2012-09-22T15:04:21.300 回答
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');
            }
        });
    });
于 2012-09-22T15:14:52.853 回答
1

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

$(function() {

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

});
于 2012-09-22T15:04:00.057 回答
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');
        }
    });
});
于 2012-09-22T15:05:44.420 回答