The*_*ear 6 html jquery internet-explorer-8 internet-explorer-7
我有一段文字存储在页面的html中,如下所示.
<div id="contentTextOriginal" style="display: none;">
_Sales Area: 560 sq ft (52.02 m²)_ _Ancillary storage: 678 sq ft (62.99 m2)_ _Separate W.C./Cloakroom_
**Total: 1,238 sq ft (115.00 m2)**</div>
Run Code Online (Sandbox Code Playgroud)
然后我使用一个链接将HTML放在输入字段中,供用户使用一些jQuery进行编辑
var textToEdit = $('#contentTextOriginal').text();
$('.editorTextBox').val(textToEdit);
Run Code Online (Sandbox Code Playgroud)
我已经尝试了两个$('#contentTextOriginal').html();并且$('#contentTextOriginal').text(); 在IE7中所有但是从div中删除了一个空格.
因此,文本显示为
" 销售面积:560平方英尺(52.02平方米) _附属仓库:678平方英尺(62.99平方米)_ 独立卫生间/衣帽间 总面积:1,238平方英尺(115.00平方米) "
我需要做些什么来确保IE7不会剥离所有的空白区域?
我正在使用降价编辑器,因此白色空间非常重要,因为它包含一些格式信息.
适用于所有其他浏览器,而不是IE7
感谢 wescrow 和 Sohnee 为我指明了为什么会发生这种情况的正确方向。
在 IE7 & IE8 中使用代码
$('#contentTextOriginal').html();或者$('#contentTextOriginal').text();
这意味着 IE7 和 IE8 会删除任何格式、额外的空格/回车,无论该项目是否设置正确,例如 pre、空白 css。
我解决这个问题的唯一方法是使用该函数
document.getElementById('contentTextOriginal').innerText;
Run Code Online (Sandbox Code Playgroud)
但任何其他符合标准的浏览器 FF/Chrome 都不支持此innerText。
因此,我必须在 IE8 及以下版本的内部文本中添加一些条件 JS,并在其他所有内容中添加 jQuery。
像这样的东西会起作用。
<script type="text/javascript">
var i_am_old_ie = false;
</script>
<!--[if LT IE 8]>
<script type="text/javascript">
i_am_old_ie = true;
</script>
<![endif]-->
if (i_am_old_ie) {
textToEdit = document.getElementById('contentTextOriginal' + id).innerText;
} else {
textToEdit = $('#contentTextOriginal' + id).html();
}
Run Code Online (Sandbox Code Playgroud)
我讨厌使用条件脚本,如果有人能想到另一种方法,我将不胜感激。
| 归档时间: |
|
| 查看次数: |
3123 次 |
| 最近记录: |