在我的 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/