从.innerHTML href调用javascript函数

时间:2014-03-21 13:58:03

标签: javascript href innerhtml getelementbyid

我正在通过使用javascript函数调用它的id来改变页面上的P元素,并且我试图从如下所示的.innerHTML的HREF调用另一个名为closeWindow的javascript函数。

document.getElementById("link").innerHTML = "<p>You may close this window <a href="javascript:closeWindow();">here</a></p>"

然而,javascript:closeWindow没有被调用,或者我应该说甚至根本没有被读取而且函数失败。

任何建议都将不胜感激

2 个答案:

答案 0 :(得分:4)

您的引号互相否定,正如您在代码视图中看到的那样。使用单引号或转义双引号:

document.getElementById("link").innerHTML = "<p>You may close this window <a href='javascript:closeWindow();'>here</a></p>"

答案 1 :(得分:0)

如何为javascript函数提供一些像这样的变量?

var myvar=123;
document.getElementById("link").innerHTML = "<p>You may close this window <a href='javascript:closeWindow("+myvar+",sometext);'>here</a></p>";

myvar有效,但我无法获得一些工作。

这不起作用:

var mytxt='sometext'; 
var myvar=123;
    document.getElementById("link").innerHTML = "<p>You may close this window <a href='javascript:closeWindow("+myvar+","+mytxt+");'>here</a></p>";

请一些帮助,我得到错误引用错误:sometext未定义。它认为某种文本是变量。将sometext放在双引号中会导致逗号后面出现空字段和语法错误。

找到答案:

var mytxt='sometext'; 
    var myvar=123;
        document.getElementById("link").innerHTML = "<p>You may close this window <a href='javascript:closeWindow("+myvar+",\""+mytxt+"\");'>here</a></p>";