[英]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.