javascript - innerHTML 在 FF 中工作但在 IE 中不工作!

标签 javascript internet-explorer firefox innerhtml

在我的 JSP 中,我使用自定义标记 <showDateFormat/>
喜欢:

Date From:<showDateFormat/>

在我的 common.js 文件中

function addDateFormatInfo(){
    var dateFormatHolder = document.getElementsByTagName("showDateFormat"); 
    if ( dateFormatHolder ){        
        for ( i = 0 ; i < dateFormatHolder.length; i++ ){
            dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';                       
        } 
    }
}

所以在我的页面中有showDateFormat的地方使用标签,它会显示(mm/dd/yyyy) .它在 FF 中工作正常,但在 IE 中却不行。可能是什么问题?

最佳答案

您需要先将标记告知 IE。在调用 addDateFormatInfo() 之前的某处添加此行:

document.createElement("showDateFormat");

IE 现在将正确初始化该元素 - 您可以像对待任何其他元素一样对待它。 Firefox 会自动执行此操作。

这是源博客文章:

http://ajaxian.com/archives/getting-html-5-styles-in-ie-7

从 IE7 开始支持 createElement() - 尽管我在 FF3.0.15 中工作正常

完整示例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Home | My Website</title>
    </head>
    
    <body>

<script type="text/javascript">

document.createElement("showDateFormat");

function addDateFormatInfo(){
    var dateFormatHolder = document.getElementsByTagName("showDateFormat");     
    if ( dateFormatHolder ){        
    
        for ( i = 0 ; i < dateFormatHolder.length; i++ ){
                dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';                                               
        } 
    }
}

</script>

<div>
Date From:<showDateFormat/>
</div>
<div>
Date From:<showDateFormat/>
</div>

<div>
Date From:<showDateFormat/>
</div>

<div>
Date From:<showDateFormat/>
</div>


<p><input type="button" value="click me" onclick="addDateFormatInfo()" />
</p>

</body>

</html>

关于javascript - innerHTML 在 FF 中工作但在 IE 中不工作!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801960/

相关文章:

javascript - jQuery 滑出问题

javascript - 如何以与浏览器无关的方式识别 HTML 元素(在 javascript 中)

javascript - IE 11 忽略动态生成的 html 页面的 appendChild()

javascript - 使 Firefox 中的面板永远保持打开状态

javascript - 尝试登录时 Firefox 的 Selenium 测试失败

css - 如何在 contentscriptfile 中使用相对 url?

javascript - 如何为 ionic 应用程序创建 IPA 和 PDK

javascript - 隐藏字段值包含[object object]

python - 混合经过身份验证和未经身份验证的 URL、Internet Explorer 和 mod_auth_sspi

css - 如何确保选择选项文本在 IE 中居中对齐?