【问题标题】:create link in javascript function with --- innerHTML = "...<a href='http://...'>HttpLink</a>..."使用 --- innerHTML = "...<a href='http://...'>HttpLink</a>..." 在 javascript 函数中创建链接
【发布时间】:2012-07-20 06:25:54
【问题描述】:

我正在学习用 html 编写,但有一个问题我无法理解。 以下代码适用于其他浏览器,但不适用于 IE9。我知道这与innerHTML 有关,但我无法理解为此找到的答案。

<html> <head> <script type="text/javascript">
function hw_function1() {
    var img11=document.createElement("a"); 
    img11.innerHTML = "<html> <body> <a href='http://google.de'>Google</a> </body></html>";
    document.body.appendChild( img11 );
}
</script>
<body>
    <a href="#" onclick="javascript:hw_function1()";>Test</a>
</body> </html>

在不改变结构的情况下我应该改变什么(如果可能,只改变innerHTMl 部分)?

【问题讨论】:

    标签: javascript internet-explorer function innerhtml


    【解决方案1】:

    由于您正在创建一个a 元素,您只需通过.href 属性将href 分配给该元素。

    您可以使用.innerHTML 设置其文本内容以方便起见,尽管这并不是真正的“纯”方法。

    var img11=document.createElement("a");
    
    img11.href='http://google.de';
    img11.innerHTML = 'Google';
    
    document.body.appendChild( img11 );
    

    另一种设置文本内容的方法是这样...

    img11.appendChild(document.createTextNode("Google"));
    

    【讨论】:

      【解决方案2】:

      您的代码正在原始代码中创建另一个 HTML 页面。这是错误和无效的。这是因为某些浏览器可以原谅和纠正您的代码甚至可以正常工作的事情。

      如果您要创建超链接元素,您应该使用 innerHTML 在其中添加文本或图像或其他内联元素。

      你应该改变它的属性,用img11.href='http://xyz.com';设置href

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-17
        • 2016-09-25
        • 1970-01-01
        • 2017-04-05
        • 1970-01-01
        • 1970-01-01
        • 2015-11-02
        • 1970-01-01
        相关资源
        最近更新 更多