在html中从字符串内部调用js函数

时间:2015-12-07 09:37:01

标签: javascript html

我正试图从这段代码中调用JS函数:

"+myVar+"

该函数未被调用,似乎是因为{{1}},  任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您必须在引号中指定myVar

onclick='myFunc(\""+myVar+"\");'

解决方案说明

对于那些"天才"盲目地投票,甚至没有成为努力的一部分,谢谢。请找到解释:

这类似于PHP $$var,类似于JavaScript的eval()

所以,这部分代码:

var myVar='sometext';

myVar = "<hr>"+var1+"</hr><table><tr><td><a href='#' onclick='myFunc("+myVar+");'>Show</a></td></tr></table>";

转换为HTML格式为:(注意:<hr>代码无法使用内部HTML)

<hr>(var1-value)<table><tr><td><a href='#' onclick='myFunc(sometext);'>Show</a></td></tr></table>

但是这里发生的是,sometext应该作为一个值而不是一个变量发送。

为此,我们需要以这种方式替换onclick属性:

onclick='myFunc(sometext);'    // Old
onclick='myFunc("sometext");'  // New

为此,我建议的是:

onclick='myFunc(\""+myVar+"\");'

这应该有所帮助。

答案 1 :(得分:0)

也许这个决定适合你。祝你好运。

&#13;
&#13;
var myVar;   
var myVar2 = 'options';
var var1 = 'Test';

myVar = "<hr>"+var1+"</hr><table><tr><td><a href='#' onclick='myFunc(myVar2);'>Show</a></td></tr></table>";

document.write(myVar);

function myFunc(opt){
  alert(opt);
};
&#13;
&#13;
&#13;