2009-07-27 6 views
2

있는 페이지에 링크에서 변수를 제거하는 방법 간단하게 내가 그러나 할 수 있도록하고 싶습니다 무엇 때문에jQuery를

<div id="categoryLinks"> 
    <a href="blah.php?something=this&category=21"></a> 
    <a href="blah.php?something=that&category=21"></a> 
    <a href="blah.php?something=then&category=21"></a> 
</div> 

같은 링크의 무리를 가지고, 모든 링크를 통해 이동 및 제거입니다 최종 비트 '& 카테고리 = 21'내가 선택해야처럼 그래서 그들은 모두가 보일 것이다합니다 :

function removeCategory(){ 

    $('#categoryLinks a').each(function(){ 

     // as you can see, i don't know what goes in here!  

}); 


} 
: 나는 이런 식으로 뭔가를 보이는 기능에서 일하고 있어요 그래서

<div id="categoryLinks"> 
    <a href="blah.php?something=this"></a> 
    <a href="blah.php?something=that"></a> 
    <a href="blah.php?something=then"></a> 
</div> 

나는 href에 카테고리를 추가하는 반대 방법을 알고있다. 그러나 그것을 없앤다는 것은 공백을 그리는 것이다.

어떻게하면됩니까?

답변

4

이이 특정 하나

$("a[href*='category=']").each(function() { 
    var href = $(this).attr('href'); 
    $(this).attr('href', href.replace(/&?category=\d+/, '')); 
}); 

a[href*='category=']a 태그의 href 속성에 category= 문자열을 찾습니다 제거 모든 매개 변수

$('a[href*=?]').each(function() { 
    var href = $(this).attr('href'); 
    $(this).attr('href', href.substring(0, href.indexOf('?')); 
}); 

을 제거합니다. 그런 다음 상응하는 값과 함께이 속성이 빈 문자열로 대체됩니다.

+1

좋은 접근 방식, 특히 정규 표현식에 관한 것입니다. 2 노트 그러나 - '='와 같은 문자가있는 속성 (또는 그 부분)을 선택할 때 따옴표를 사용해야하고 코드 작동 방식에 대한 설명이 있어야합니다. –

+1

jQuery 속성 선택자는 따옴표 없이도 잘 작동합니다. – RaYell

+0

와우 ... href.replace는 jquery 함수입니까 ?? * googles * – willdanceforfun