Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何将类添加到包含变量的链接_Jquery - Fatal编程技术网

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

Jquery 如何将类添加到包含变量的链接,jquery,Jquery,我使用一个免费的punBB脚本,指向用户配置文件的链接如下:/u1,/u2,/u3等 我试图在有人将光标移到userlink时创建工具提示,但首先,我需要向这些链接添加一个类,我不知道如何创建,因为每个用户的工具提示都不同 对于单个链接,我使用: $(function() { jQuery('a').each(function() { if(jQuery(this).attr("href") == "/u1") { $(this).addClas

我使用一个免费的punBB脚本,指向用户配置文件的链接如下:
/u1
/u2
/u3

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

对于单个链接,我使用:

$(function() {

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

});

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

$(function() {

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

});

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

$(function() {

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

});
试试这个:

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

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

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

// 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');
        }
    });
});

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

// 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');
        }
    });
});

正如在其他答案中提到的,我假设您首先不能将类添加到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');
            }
        });
    });
$(函数(){
//仅获取HREF以“/u”开头的链接元素
$('a[href^=“/u”]”)。每个(函数(){
//对于这些元素中的每一个,确保其HREF实际与模式匹配
//“/u”+在添加类之前
if(/^\/u\d+$/.test($(this.attr('href')){
$(this.addClass('profile');
}
});
});

如其他答案中所述,我假设您首先不能将类添加到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');
            }
        });
    });
$(函数(){
//仅获取HREF以“/u”开头的链接元素
$('a[href^=“/u”]”)。每个(函数(){
//对于这些元素中的每一个,确保其HREF实际与模式匹配
//“/u”+在添加类之前
if(/^\/u\d+$/.test($(this.attr('href')){
$(this.addClass('profile');
}
});
});

为什么不在服务器端添加类?您可以在每个要突出显示的a标记上添加一个“userlink”类吗?为什么不在服务器端添加类?您可以在每个要突出显示的a标记上添加一个“userlink”类吗?我假设如果URL结构可以更改,只包含CSS类而不使用JavascriptI将是一件简单的事情。我假设如果URL结构可以更改,只包含CSS类而不使用JavascriptD'oh将是一件简单的事情!使用更好的锚点选择器,您的工作效率肯定会更高。可能值得注意的是,正则表达式只适用于编写的相对链接,如果它是绝对的,^将导致测试失败。噢!使用更好的锚点选择器,您的工作效率肯定会更高。可能值得注意的是,正则表达式只适用于编写的相对链接,如果它是绝对的,^将导致测试失败。