7 に答える
JavaScript を HTML に混ぜています。
あなたの pathArray 変数にも、あなたが期待しているものは含まれていないと思います。
スクリプトタグでこれを試してください:
var gamePath = "game.html?" + window.location.search.replace( "?", "" );
document.getElementById("gameAnchor").setAttribute("href", gamePath);
アンカーに id を追加します。
<a href="#" id='gameAnchor'>
JavaScript はGET
現在の URL からすべてのパラメーターを取得href
し、要素の属性を、urlgameAnchor
のパラメーターと連結された game.html の ID に置き換えますGET
。
そのようには機能しません。JavaScript を使用して、必要なアンカーをループする必要があります。
これはテストされていません。これが複数のアンカー リンクで発生することを望んでいると想定しています。
HTML:
<a class="updatethis" href="game.html">...</a>
<a href="not-game.html">...</a>
<a class="udpatethis" href="game.html">...</a>
JavaScript: var anchors = document.getElementsByTagName('a');
for (var i = 0, a; a = anchors[i++]; ) {
if (a.className === 'updatethis') {
a.href += window.location.search;
}
}
javascript 変数を html のどこにも置くことはできません。代わりに、スクリプトを使用して dom 要素を取得し、href 属性を追加する必要があります。アンカーに ID またはクラス名を付けて、これを例として試してください。
<a id="myLink" href="game.html">
<img src="img/RestartButton.png" style="position:absolute;left:80px; top:220px">
</a>
<script type="text/javascript">;
document.getElementById('myLink').href += window.location.search
</script>
これにも JavaScript を使用する必要があります。最初にアンカーに ID を与えます。
<a id="myLink" href="game.html?"><img src="img/RestartButton.png" style="position:absolute; left:80px; top:220px"></a>
そして、JavaScript コードに以下を追加します。
document.getElementById('myLink').href += pathArray;
このコードは、文字列変数の内容をアンカー要素の href プロパティに追加します。
まず、アンカーに識別子を付けて選択しやすくします。
<a href="#" id="pathLink"></a>
(これは、ページに複数のアンカーがあることを前提としています)
次に、上記のスクリプトに以下を含めます。
var anchor = document.getElementById("pathLink");
アンカー タグにはネイティブの href プロパティがあるため、新しいものを割り当てるのは次のように簡単です。
リライト:
var anchor = document.getElementById("pathLink").href += pathArray;
HTML の要素の属性にアクセスできます。実際には HTML 変数ではありませんが、ほぼそれに近いものです。変数から期待されるように、次のことがget
できset
ますremove
。
Element.getAttribute() :
getAttribute() は、要素の指定された属性の値を返します。指定された属性が存在しない場合、返される値は null または "" (空の文字列) になります。詳細については、注を参照してください: https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute
例 :
let myDiv = document.getElementById("myDiv");
console.log(myDiv.getAttribute("variable"))
<div class="div" id="myDiv" variable='test'</div>
もちろん、属性を設定または削除することもできます:
Element.setAttribute()
指定された要素の属性の値を設定します。属性がすでに存在する場合、値は更新されます。それ以外の場合は、指定された名前と値を持つ新しい属性が追加されます。
Element.removeAttribute()
引用符
removeAttribute は、指定された要素から属性を削除します。
注: そうは言っても、属性を操作するには JavaScript が必要です。そして、それが「適切な変数」ではない理由を部分的に説明しています。
undescore、musache、または doT.js などのテンプレート エンジンを使用することを考えてみてください。HTML識別子またはその一部をテンプレートのデータ変数に簡単に置き換えることができます。