1

同じ関数で以前に定義した変数を使用してハイパーリンクを作成し、次の機能を追加しようとしています。

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>";

ここにある解決策を使用して、次のことを試しました。Javascript変数を<ahref>に渡す

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

しかし、それはうまくいきませんでした。次に、IDを追加してみました。

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

そして、これをスクリプトに追加します。 document.links["link"].href += NAMEVARIABLE;

これもうまくいきませんでした。これらのリンクはIsotope内で発生しています。これは、スクリプトを実行する前にJSONデータが読み込まれていることを確認するという初心者の問題に遭遇しました。これですべて機能していますが、上記の方法が機能しない理由が同様の問題によるものなのか、それとも単にこれを行うための適切な方法ではないのかはわかりません。

どんな助けでも大歓迎です。ありがとうございました

4

4 に答える 4

1

まず、変数をデバッグしてみてください:

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

目的の戻り値を返すかどうか。次に、最初のスタイルのスクリプトで、代わりにこれを試してください。

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

フォーマット付きの(静的な)htmlコレクションがあると仮定しました。game_[number_id].htmlその場合は、2番目のスタイルのスクリプトでさらに試して、次のように変更できます。

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

javascript文字列の連結についてさらに学ぶ必要があります

于 2013-01-11T03:22:25.250 に答える
0

文字列の連結が必要です。リンクのhrefonclickを変更すると、最新のブラウザではスパムと見なされます。

<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>
于 2013-01-11T03:56:43.947 に答える
0

文字列の連結を使用して、内部のhtml文字列を作成します。

例:

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

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

someElementのコンテンツには、次のテキストが含まれます。'Foobar';

于 2013-01-11T03:21:51.507 に答える
0

これは、多くの手間をかけずに(つまり、純粋な方法JSまたは)方法のいずれかで実現できます。jQueryこの<a>要素にいくつかの要素があるとしますhref

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

純粋なJavaScriptの方法:

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);
}); 
于 2013-01-11T03:42:50.657 に答える