2012-06-14 4 views
0

JS에서 href 속성이 함수를 실행하는 링크를 만듭니다. simple 함수는 주어진 변수로 경고 창을 엽니 다.변수를 사용하는 Href 속성이 작동하지 않습니다.

링크를 만들 때 다음 코드를 사용합니다.

var link = document.createElement('a'); 
link.setAttribute('href','javascript:alerter("hi")'); 
link.innerHTML = "Sauce"; 

이렇게하면 작동합니다. 그러나 내가하고 싶은 것은 이전에 정의 된 변수에주의를 기울이는 것입니다. 하지만 사용할 때

link.setAttribute('href','javascript:alerter(myvar)'); 

팝업이 더 이상 작동하지 않습니다. 또한 단순히 별도의 함수를 작성하는 대신 href에 경고를 포함시키는 방법이 있습니까?

답변

1

그것은 당신이 그 문자열로 myvar을 넣어 문자열 연결을 사용하고

link.setAttribute('href','javascript:alerter("' + myvar + '")'); 

해야한다. 방법은 당신이 그것을 가지고, 모든 일이 문자열 "자바 스크립트 :하여 경고 (myVar에)"입니다

0

link.setAttribute('href','javascript:alerter('+myvar+')'); 
0

http://jsfiddle.net/xmBbw/2/

그냥 앵커의 onclick 이벤트를 수정하십시오. 어디서든지 링크하지 않으려면 href 속성을 사용할 필요가 없습니다. 오히려 onclick을 사용하고 원하는 기능을 할당하십시오. 게다가 HTML 태그 안에 javascript를 작성하는 것은 대단히 나쁜 습관입니다. don't하십시오.

A nice article regarding good practices

0

myvar 변수 전역 범위에 있어야한다. window.myvar으로 액세스 할 수도 있습니다. 첫 번째 질문 사용

0

:

link.setAttribute('href','javascript:alerter(' + somevar + ')'); 

와 두 번째 질문의 사용

:

link.setAttribute('href','javascript:alert(' + somevar + ')'); 

환호.

관련 문제