繁体   English   中英

如何在另一个变量的函数名称中添加动态javascript变量的值

[英]How to add a value of a dynamic javascript variable in a function name that is in an another variable

我不知道如何在<a href>的函数名称中添加动态JavaScript变量的值。

例如:

var x =  document.getElementById('example').value // value is 6 now
<a href="javascript:function6();">+</a>

document.write看起来应该像这样:

document.write('<a href="javascript:function"' + x + '();">Something</a>'

问题是,我必须使用inner.html。

我有这样的代码:

<script type="text/javascript">

   function count(){ 
       var x = 1;
       document.getElementById('count').value = ++x;  
       var z = x + 4;
   }

   var ex = ("<a class=\"button6\" href=\"javascript:anotherfunction\" + z + '()'>Anything else<\/a>");

   function new(){
       document.getElementById("add").innerHTML += ex
   }
</script>
<table id="add">
  <tr>
    <td>
      <a class="button6" href="javascript:new();count();">+</a>
    </td>
  </tr>
</table>

“ +”链接应在href的函数名称中添加另一个带有计数器值的链接,如下所示:

<a class="button6" href="javascript:anotherfunction6();">+</a>

代码中的第一个“ +”链接应在href的函数名称中添加第二个链接,其计数器值位于计数器名称中,因此在两次单击“ +”链接后,添加的代码应如下所示:

<a class="button6" href="javascript:anotherfunction6();">+</a>
<a class="button6" href="javascript:anotherfunction7();">+</a>
...

但这是行不通的。

\\" + z + '()应该为" + z + "'() 。虽然您的代码还有其他问题,所以“不起作用”可能有多种原因。

看着你的代码..我看到你没有正确地逃脱你的代码..

尝试这个

var ex = ("<a class=\"button6\" href=\"javascript:anotherfunction\"" + z + "'()'>Anything else<\/a>");

为了使代码正常工作,您应该修复:

1)转义序列。

`var ex = '<a class="button6" href="javascript:anotherfunction' + z + "()\">Anything else<\/a>";`

2)功能名称。 new是关键字,不能用作函数名称。

3)可变范围。 变量z对两个函数均应可见,并且每次创建新引用时都应设置变量ex

修复之后,代码如下所示:

var z = 0;
function count() { 
    var x = 1;
    document.getElementById('count').value = ++x;  
    z = x + 4;
}

function createButton() {
    var ex = '<a class="button6" href="javascript:anotherfunction' + z + "()\">Anything else<\/a>";
    document.getElementById("add").innerHTML += ex
}`

另外,您应该修复HTML代码:

<a class="button6" href="javascript:createButton();count();">+</a>

PS在<a>中使用javascript是错误的代码样式。 生成一堆函数,例如anotherfunctionN也不是一个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM