Jquery 需要追加正斜杠,但仅当href不';值中没有.aspx

Jquery 需要追加正斜杠,但仅当href不';值中没有.aspx,jquery,Jquery,这就是我到目前为止所做的,而且效果很好: $("a[id=terminalNode]").each(function() { var _href = $(this).attr("href"); $(this).attr("href", _href + '/'); }); 但是,在某些情况下,href中的值可能有“.aspx”。有没有一种简单的方法可以从我的每个循环中筛选出这些内容?您可以使用.indexOf()检查字符串是否包含特定的字符串。它区分大小写,因此.toLower

这就是我到目前为止所做的,而且效果很好:

$("a[id=terminalNode]").each(function() {
    var _href = $(this).attr("href"); 
    $(this).attr("href", _href + '/');
});
但是,在某些情况下,href中的值可能有“.aspx”。有没有一种简单的方法可以从我的每个循环中筛选出这些内容?

您可以使用
.indexOf()
检查字符串是否包含特定的字符串。它区分大小写,因此
.toLowerCase()
可能是个好主意:

$("a[id=terminalNode]").each(function () {
    var _href = $(this).attr("href");
    if (_href.toLowerCase().indexOf(".aspx") == -1) {
        $(this).attr("href", _href + "/");
    }
});
您可以使用
.indexOf()
检查字符串是否包含特定字符串。它区分大小写,因此
.toLowerCase()
可能是个好主意:

$("a[id=terminalNode]").each(function () {
    var _href = $(this).attr("href");
    if (_href.toLowerCase().indexOf(".aspx") == -1) {
        $(this).attr("href", _href + "/");
    }
});

但是,为什么在[id=terminalNode]上有foreach?带有id的内容在页面上只能出现一次

但是,为什么在[id=terminalNode]上有foreach?带有id的内容在页面上只能出现一次

$("a[id=terminalNode]").each(function() {
    var href = $(this).attr("href");
    if (href.toLowerCase().test('.aspx'))
        $(this).attr("href", href + '/');
});
$("a[id=terminalNode]").each(function() {
    var href = $(this).attr("href");
    if (href.toLowerCase().indexOf('.aspx') != -1)
        $(this).attr("href", href + '/');
});