2014-09-24 2 views
0

의 내가 다음 URL 문자열 있다고 가정 해 봅시다 :클릭하면 특정 쿼리 문자열을 제거하는 방법?

www.mysite.com?this&that&theOtherThing 

내가 어떤 링크에 쿼리 문자열을 추가하는 방법을 알고 있지만 하나를 제거하는 방법을 모르고입니다.

//just add within the href 
<a href="?this">submit</a> 

or 

//set the href within jquery 
$('button').attr('href', currentUrl + '&that'); 

가 어떻게 클릭에 같은 쿼리를 제거하는 것입니다 :

는 예를 들어, 나는 다음을 수행하여 쿼리 문자열을 추가 할 수 있습니다 알아?

나는 다음과 같은 노력하지만 NaN의 오류 가지고 :

$('button').attr('href', currentUrl - '&that'); 

사람이 쿼리를 제거하는 방법에 대한 조언이 있습니까를?

+0

'& '를'' ''로 대체하십시오. – Ohgodwhy

+1

currentUrl은 문자열입니다. 문자열 조작을 사용하여 원하는대로 변경할 수 있습니다. string + anotherstring은 문자열에 추가되고 string.replace()는 문자열의 일부를 다른 문자열 (빈 문자열 일 수도 있음)로 바꿀 수 있습니다. –

+0

이 경우에는 replace를 사용할 수 있습니다. https://developer.mozilla.org/en -US/워드 프로세서/웹/자바 스크립트/참조/Global_Objects/문자열/바꾸기 – Huangism

답변

1

먼저 "? that"을 바꾸고 싶습니다. "& that"이 아닙니다. 둘째, id가없는 태그가 있지만 'button'id가있는 요소의 'href'속성을 설정하고 있습니다.이 속성은 코드 스 니펫에 표시되지 않습니다.

문자열에서 "? that"을 뺄 때 NaN 오류가 발생했습니다. 대신에, string.replace ("? that", "") - "% that"을 없애고, 그 뒤에 아무 것도 없으면 (뭔가 있다면) 사용하십시오. 무언가가 당신의 문자열 (? "그")를 같이 IndexOf를 얻을 다음과 같이 자체의 하위 문자열로 문자열을 설정 "고 &"후가있는 경우 :

HTML :

<a href="www.blah.com/page.aspx?that=hello" id="linkToModify">Click me</a> 

자바 스크립트 :

var urlString = $("#linktoModify").prop("href"); 
urlString = urlString.toString().substring(0, urlString.indexOf("?")); 
$("#linkToModify").prop("href", urlString); 

또한 질문에 약간의 혼란이 있음을 유의하십시오. 자바 스크립트로 문자열을 편집하려하고 쿼리 문자열을 제거하지 않습니다. 쿼리 문자열은 읽기 전용이며 제거 할 수 없지만 수행하려는 문자열처럼 쉽게 수정할 수 있습니다.

+0

감사합니다. Stan - 이것은 내가 찾고있는 것입니다! –

+0

... 내 오해의 소지가있는 의견에 사과드립니다. 저는 스스로 jquery를 가르쳐 준 웹 디자이너입니다. 때로는 적절한 조건의 성명서가 꺼져 있습니다. –

+0

아무런 문제가 없습니다 - 이제 차이점을 알 수 있습니다! –

1
function remove_args(a, url, arg){ 
    a.attr('href', url.replace(arg,'')); 
} 

HTML

<a href="#" onclick="remove_args(this, 'www.mysite.com?this&that&theOtherThing', '&that')">URL</a> 

는 다음과 같이하십시오. 작은 시나리오