2013-01-11 1 views
0

내가 추가하는 동일한 기능의 앞부분에서 정의 된 변수를 사용하여 하이퍼 링크 만들기 위해 노력 해왔다 내에서 하이퍼 링크를 자바 스크립트 변수를 추가 : 나는 여기에있는 솔루션을 사용하여 다음과 같은 시도스크립트

var NAMEVARIABLE = responseArray[i].Name; 

var TITLE_Game = document.createElement("p"); 
TITLE_Game.className = "TITLE_Game"; 
TITLE_Game.innerHTML = "<a href='Game_NAMEVARIABLE.html'>Games</a>"; 

: Passing Javascript variable to <a href >

하지만 작동하지 않았습니다. 나는 다음 ID 추가 시도 :

<a id="link" href="Game_.html?propid=">Games</a> 

을 그리고 스크립트에 이것을 추가 : document.links["link"].href += NAMEVARIABLE;

이 중 하나가 작동하지 않았다. 이 링크는 Isotope에서 발생합니다.이 URL은 스크립트가 실행되기 전에 내 JSON 데이터가로드되는지 확인하는 초보자 문제로 실행됩니다. 이제는 모두 작동합니다. 그러나 위의 방법이 작동하지 않는 이유가 비슷한 문제로 인해 발생했는지 또는 단순히이 문제를 해결할 적절한 방법이 아닌지 확실하지 않습니다.

도움을 주시면 감사하겠습니다. 감사합니다

+0

많은 링크가 있습니까? 아니면 단지 하나? – dunli

+0

그것은 여기에서 일하고있는 것 같다. http://jsfiddle.net/arunpjohny/8uekj/ –

+0

@ArunPJohny 나는 그것이 그 상황에서 작동한다는 것을 알고있다. (다른 곳의 해결책 인 것처럼), 그러나 Isotope에서 일하고있다. 함수)이 jsfiddle이 다루지 않는이 질문의 일부입니다. 그것을 테스트 주셔서 감사합니다. – gcubed

답변

1

, 당신의 변수를 디버깅하려고 :

var NAMEVARIABLE = responseArray[i].Name; 
alert(NAMEVARIABLE); 

가 원하는 반환 값을 반환 여부입니다. 다음 두 번째 것은, 스크립트의 첫 번째 스타일로, 대신이 시도 :

TITLE_Game.innerHTML = "<a href='Game_"+NAMEVARIABLE+".html'>Games</a>"; 

난 당신이 game_[number_id].html 형식 과 정적 HTML 수집을 가지고 그렇게 있다면, 당신은 두 번째로 더 시도 할 수 있습니다 가정 스크립트의 스타일이로 변경 :

<a href="#" onclick="location.href='Game_'+NAMEVARIABLE+'.html';return false;">Games</a> 

당신이 더 배울 필요가에 대한 javascript strings concatenation

+1

당신은 분명히 있습니다 - 도와 줘서 고마워! 변수가 올바르게 작동하고 있음을 알았 음에 틀림 없음 ().하지만 첫 번째 제안이 효과적이었습니다. 링크에 감사 드리며, 확실히 읽어 드리겠습니다. 다시 한 번 도움을 주셔서 감사합니다. – gcubed

0

문자열 연결을 사용하여 내부 html 문자열을 작성하십시오.

예 : someElement의

var nameVariable = 'Foo'; 
var innerHtmlText = nameVariable + 'bar'; 

$('#someElement').html(innerHtmlText); 

내용은 다음 텍스트가 포함됩니다 : '는 foobar를'; 우선

0

이이 중 하나 (즉, 순수에 의해 달성 될 수있다 10 또는 jQuery) 많은 번거 로움없이. 일부 href

<a id="Link" href="/collection/categories/">Games</a> 

순수 자바 스크립트 방법이 <a> 요소가 있다고 가정 :

window.onload = function() { 
    var link= document.getElementById('Link'), 
    url = link.href + responseArray[i].Name + '.html'; 

    link.setAttribute('href', url); 
} 

하는 jQuery를 사용하여 :

$(function(){ 
    var link= $('#Link'), 
    url = link.attr('href') + responseArray[i].Name + '.html'; 

    link.attr('href', url); 
}); 
0

당신은 단지 문자열 연결이 필요합니다. 수정 링크의 href onclick은 대부분의 최신 브라우저에서 스팸으로 간주됩니다.

<div id="result"> 
    the result: 
</div> 
<script type="text/javascript"> 
var name = "foo_bar"; 
var url = "page.html?key=" + name; //or.. "page_" + name + ".html"; 
var link = '<a href="' + url +'">link here</a>'; 

$("#result").addClass("g_title"); 
$("#result").append(link); 
</script>