IE innerHTML从自定义标签开始
IE innerHTML start with custom tags
在IE中设置div的innerHTML为:
<abc>1<abc>
innerHTML将被转换为:
1</ABC>
因为'abc'是自定义标记。但是如果我设置:
1<abc>2</abc>
innerHTML将保留'abc'标签,所以innerHTML是:
1<ABC>2</ABC>
询问行为描述
…我明白了。你想知道为什么当你将元素的innerHTML设置为1时,它会删除开始标签,而当你在innerHTML前加上数字时,它会保留它…
不支持html5标签的小IE会表现得很奇怪。在这种情况下,它可能将第二种情况解释为字符串,而在第一种情况下,它将其视为无效标记并且只是简单的错误。
如果你使用jQuery,试试这个而不是像
$('#some_element').html('<abc>1</abc>'); // equal to document.getElementById('some_element').innerHTML = '<abc>1</abc>';
试
(function(){if(!/*@cc_on!@*/0)return;var e = "abc,other_custom_tags".split(',');for(var i=0;i<e.length;i++){document.createElement(e[i])}})(); // add the custom tag
var elem = $('<abc>');
elem.html('1');
$('#some_element').html(elem);
并声明ABC为css中的有效标签:
abc{
display:block;
}
当然,这是假设您知道ABC将是您站点上使用的标记。如果潜在的标签是未知的,那么这可能没有多大用处。
innerHTML属性的行为没有标准化(尽管在HTML5中已经进行了一些尝试)。在不同的浏览器中实现是不同的
相关文章:
- 在嵌入标签中开始/暂停音频?(IE8+)
- react.js每n个项目添加一个开始标签或结束标签
- 为什么文本在 li 标签中开始一个新行
- 结束标签到开始标签之间的Javascript reg exp
- 使用Highcharts中的“步骤”标签选项,从轴的末尾开始
- 图表.js折线图,如果数据相同,如何隐藏y轴开始和结束标签
- 将开始日期和结束日期添加为高图中的X轴标签
- 使用html5视频标签从特定位置开始播放视频
- 第一次点击显示开始标签,第二次点击显示结束标签
- HTML5:为什么脚本标签需要放在body标签的末尾,而不是body标签的开始
- 我怎么能做一个bbcode解码器,把html结束标签变成bbcode结束标签,他们开始作为
- IE innerHTML从自定义标签开始
- p:lineChart如果值开始在中间的标签点没有正确显示
- W3C错误:文档类型不允许元素X在这里;缺少一个Y开始标签
- 在span标签中换行文本,知道文本的开始和结束位置
- 如何开始一个标签内置在javascript/html,而不是它是空白的,不得不点击一个
- HTML5 -如何在另一个音频标签开始播放时停止音频
- 谷歌博客剥离
标签,需要一种方法来文本缩进每个撇号的开始
- 在开始标签
- JavaScript/JQuery -从视频标签开始时获取src