1

我努力了:

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

但是使用 FireFox,名称被设置为文字字符串:“&{myVar};” 而不是 myVar 的值...

UDPATE:我看到这称为 JavaScript 实体并且很长时间没有得到支持 - 但是如果可以直接在事件中包含 JavaScript 肯定有办法(我意识到属性不是事件,所以 JavaScript 可能没有被评估).. ?!这比硬编码值要好得多,因为它在其他地方使用了很多..

4

4 回答 4

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

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

恐怕您必须使用 Javascript 来操作 html 元素。您可以使用 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 的方式都是更好的选择。他们实际上在做同样的事情,只是方式不同,一种使用 jQuery,另一种使用纯 Javascript。

亚历克斯的也可以,但是一切都是硬编码的,对未来的变化不太灵活。亚历克斯打开他的答案的方式,您可以打印字符串或将其分配给要附加到 javascript 对象的变量。

我认为与您正在寻找的最接近的匹配是:

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

但正如我所说,你真的应该采用前两种方法之一。

于 2010-10-27T04:29:18.477 回答
0

这是你需要做的。

从不再阅读 Java 站点上的 javascript 教程开始。完全不同的怪物,加上你引用的网站上的教程太可怕了。

其次,获取 Javascript the Good Parts 的副本,http://www.amazon.com/dp/0596517742/ 这本书可能是有史以来(在我看来)关于语言本身的最有用的书。它没有说明处理 DOM API 的任何内容。

我鼓励您在深入了解 jQuery 等 javascript 库之前先学习语言本身。它迟早会给你带来很多好处。

一旦您至少对使用 javascript 作为一种语言的正确方法有所熟悉,就开始将您的时间投入到一个或另一个库中。jQuery 可能是最常用、最受喜爱和最友善的库。它会让你更容易处理跨浏览器的垃圾。

于 2010-10-27T04:31:41.157 回答