1

私が試してみました:

<!--...-->
<script type="text/javascript">
  var myVar = "some string";
</script>
<!--...-->
<input name="&{myVar};" ... />
<!--...-->

ただし、FireFox を使用すると、名前はリテラル文字列 "&{myVar};" に設定されます。myVar の値の代わりに...

UDPATE:これは JavaScript エンティティと呼ばれ、長い間サポートされていませんでした。しかし、JavaScript をイベントに直接含める方法があるはずです (属性はイベントではないため、JavaScript はおそらく評価されないことがわかっています)。 ?! elsewehere で多く使用されているため、値をハードコーディングするよりもはるかに優れています。

4

4 に答える 4

4
var myInput = document.createElement('input');
myInput.setAttribute('name', myVar);

someContainElement.appendChild(myInput);
于 2010-10-27T04:17:32.063 に答える
0

残念ながら、html 要素を操作するには Javascript を使用する必要があります。これを簡単にするために jQuery を使用できます。

<script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<input id="myInput" .../>
<script>
    var myVar = "value";
    $("#myInput").attr("name", myVar);
</script>
于 2010-10-27T04:18:39.310 に答える
0

Phil の方法と Xenoflex の方法のどちらも、より良い方法です。彼らは実際には同じことを異なる方法で行っています.1つはjQueryを使用し、もう1つは純粋なJavascriptを使用しています.

アレックスも同様に機能しますが、すべてがハードコーディングされており、将来の変更に対する柔軟性がやや低くなります。アレックスが答えを開いたままにしておくと、文字列を印刷するか、それを変数に割り当てて、JavaScript オブジェクトに追加することができます。

あなたが探しているものに最も近いものは次のとおりだと思います:

<script type="text/javascript">
  var myVar = "some string";
</script>
...
<script type="text/javascript">
  document.write('<input name="' + myVar + '" ... />')
</script>

しかし、私が言ったように、実際には最初の 2 つのアプローチのいずれかを取る必要があります。

于 2010-10-27T04:29:18.477 に答える
0

これがあなたがする必要があることです。

Java サイトの JavaScript チュートリアルを二度と読まないことから始めてください。完全に異なるモンスターに加えて、あなたが参照しているサイトのチュートリアルは恐ろしい.

2 番目に、 Javascript the Good Parts のコピーを入手してください。DOM API の処理については何も述べていません。

jQuery などの JavaScript ライブラリに深く入り込む前に、言語自体を学習することをお勧めします。それは遅かれ早かれあなたにたくさんの良いことをしてくれるでしょう。

javascript を言語として適切に使用する方法にある程度慣れたら、いずれかのライブラリに時間を投資してください。jQuery は、おそらく最も使用され、愛され、最も親切なライブラリです。クロスブラウザのがらくたを扱うのがとても簡単になります。

于 2010-10-27T04:31:41.157 に答える