【问题标题】:Call javascript function from .innerHTML href从 .innerHTML href 调用 javascript 函数
【发布时间】:2014-03-21 13:58:03
【问题描述】:

我正在通过使用 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 没有被调用,或者我应该说根本没有被读取并且函数失败。

任何建议将不胜感激

【问题讨论】:

    标签: javascript href innerhtml getelementbyid


    【解决方案1】:

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

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

    【讨论】:

    • 天哪,我是愚蠢的学生错误!非常感谢......当它允许我时会接受答案:-)
    【解决方案2】:

    给javascript函数一些这样的变量怎么样?

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

    myvar 工作,但我无法让 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>";
    

    请帮忙,我收到错误参考错误:未定义某些文本。它认为 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>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多