2012-12-03 3 views
0

값에 .ASPX이없는 경우에만 앞으로 추가 슬래시 만 필요하고 그것을 잘 작동합니다 : 일부 인스턴스가,HREF 이것은 내가 지금까지 무엇을 가지고

$("a[id=terminalNode]").each(function() { 
    var _href = $(this).attr("href"); 
    $(this).attr("href", _href + '/'); 
}); 

을 그러나 여기서 값 href에 ".aspx"가있을 수 있습니다. 내 루프에서 이들을 쉽게 제거 할 수 있습니까?

답변

1

.indexOf()을 사용하여 문자열에 특정 문자열이 포함되어 있는지 확인할 수 있습니다.

$("a[id=terminalNode]").each(function() { 
    var _href = $(this).attr("href"); 
    if (_href.toLowerCase().indexOf(".aspx") == -1) { 
     $(this).attr("href", _href + "/"); 
    } 
}); 
2
$("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 + '/'); 
}); 

당신은 왜에 foreach는있을 것입니다 [ID : 그것은 대소 문자를 구분하므로 .toLowerCase() 좋은 생각이 될 수있다 = terminalNode]? ID가있는 항목은 페이지에 한 번만 표시되어야합니다.

관련 문제