これは私がこれまでに持っているものであり、それはうまく機能します:
$("a[id=terminalNode]").each(function() {
var _href = $(this).attr("href");
$(this).attr("href", _href + '/');
});
ただし、値のhrefに「.aspx」が含まれる場合があります。これらを各ループから除外する簡単な方法はありますか?
これは私がこれまでに持っているものであり、それはうまく機能します:
$("a[id=terminalNode]").each(function() {
var _href = $(this).attr("href");
$(this).attr("href", _href + '/');
});
ただし、値のhrefに「.aspx」が含まれる場合があります。これらを各ループから除外する簡単な方法はありますか?
$("a[id=terminalNode]").each(function() {
var href = $(this).attr("href");
if (href.toLowerCase().slice(-5) != '.aspx')
$(this).attr("href", href + '/');
});
また
$("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 + '/');
});
しかし、なぜ[id = terminalNode]にforeachがあるのでしょうか?IDを持つものは、ページに1回だけ表示されます。
.indexOf()
文字列に特定の文字列が含まれているかどうかを確認するために使用できます。大文字と小文字が区別されるため、次のよう.toLowerCase()
にすることをお勧めします。
$("a[id=terminalNode]").each(function () {
var _href = $(this).attr("href");
if (_href.toLowerCase().indexOf(".aspx") == -1) {
$(this).attr("href", _href + "/");
}
});