jQuery text() 调用在 Firefox 中保留换行符,但在 IE 中则不然

2023-12-29

我正在做:

alert($("#div").text());

在这样的事情上:

<div id="div">
&lt;div&gt;
Some text
&lt;div&gt;
</div>

为什么要转义内容?因为它有时格式错误,我不希望它干扰或破坏文档的其余部分。

在 FF 中它显示保留换行符。在 IE7 中则不然。我需要保留空白区域。该内容实际上是在文本区域中进行编辑。

在有人推荐富文本编辑器之前,这段代码并不是真正的 HTML。这是一种自定义方言。

那么如何在 IE 中保留换行符呢?


看来这是我的问题:Internet Explorer 的innerHTML 怪癖 http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html:

然而,innerHTML 有一个问题 IE浏览器。

HTML 标准要求 内容显示的转换。各种类型和数量的相邻 空格被折叠成一个 空间。这是一件好事——就像 一个例子,它让我可以添加很多东西 此源文件中的换行符 不用担心奇怪的事情 显示文本中的换行符。

Internet Explorer 应用这些 分配给的转换 内部 HTML 属性。这似乎是一个 好主意:节省一点时间 在显示期间,因为如果 内存中的表示已经是 标准化,那么浏览器不会 必须在需要时进行正常化 显示文本。

但也有例外情况 不过,标准化规则。尤其, 这些是

Internet Explorer 不尊重 这些特殊情况。第三个使 他们的优化是一个坏主意,因为 空白可能会在运行时改变, 例如通过 DOM。在任何 在这种情况下,Internet Explorer 将正常化 所有分配给innerHTML 属性,从而产生效果 下面演示。

该文本填充页面的文本区域 加载。这也包含换行符 和多个空格。格式是 也保存在这里,除了 UA 可能会断线。

(强调已添加)

事实上,如果我将其更改为:

<div id="div">
<pre>
...
</pre>
</div>

and

$("#div pre").text()

或者简单地:

<style type="text/css">
#div { white-space: pre }
</style>

这一切都神奇地起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery text() 调用在 Firefox 中保留换行符,但在 IE 中则不然 的相关文章

  • 记录jQuery中调用的方法和参数

    假设我有 jQuery 并且加载了几个插件 我运行一些这样的代码 someSelector someMethod someParam someOtherParam someOtherSelector someOtherMethod anot
  • 如何更改引导弹出窗口箭头边框颜色而不填充它?

    我想更改弹出箭头的边框颜色 当我应用边框颜色时 箭头本身填充了颜色 我只想为弹出框主体的箭头边框提供颜色 p Click on button to see Popover p a href class btn btn primary pop
  • 如何检查jquery数据表中的每个复选框?

    我有一个第一列带有复选框的表格 我使用 jQuery DataTable 插件显示我的表格 我制作了 2 个链接来选择 取消选择每个复选框 这是选择全部的一个 a href Select all a 和 JavaScript functio
  • 有不同图像尺寸的缩略图 Bootstrap

    我想要包含不同大小和不同文本量的图像的缩略图 但我希望它们都具有相同的大小 像这样来自 Bootstrap 站点的示例 http getbootstrap com components thumbnails custom content 下
  • 单击react.js 切换列表的背景颜色

    我正在尝试创建一个具有以下功能的列表 悬停时更改列表项的背景颜色 单击时更改列表项的背景颜色 在单击的元素之间切换背景颜色 即列表中只有一个元素可以具有 clicked 属性 我已经执行了 onhover 1 和 2 功能 但无法实现第三个
  • 获取 2 个日期之间的月份名称

    我有两个约会from and to 我想获取这两个日期之间的所有月份名称 以下是我的代码 var monthNames January February March April May June July August September
  • 加载 Ember.View 的内容后初始化 jQuery 插件

    DEBUG Ember VERSION 1 0 0 rc 6 ember js DEBUG Handlebars VERSION 1 0 0 rc 4 ember js DEBUG jQuery VERSION 1 9 1 控制器是一个Em
  • 全屏 API:会触发哪些事件?

    我需要知道当用户通过新的进入全屏模式时会触发哪些 DOM 事件全屏API https developer mozilla org en DOM Using full screen mode 我尝试了这个片段 但它没有触发 jQuery bo
  • 如何使用 Jquery 将列表项追加到列表的第一个位置

    如何使用 Jquery 将列表项追加到列表的第一个位置 ul li First li li Second li li Third li li Fourth li ul 是否可以在第一个之前附加一个列表项 li 用jquery 我试着 myl
  • 如何使用 HTML CSS JS 创建滑块/切换来更改屏幕上的字体大小 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 is there any way I can make this gt 所以我想制作一个滑块 切换器 用户可以拖动 滑动它来改变不同的
  • 谷歌闭包编译器和jquery

    我将 js 代码复制粘贴到谷歌编译器中 当我将其复制回我的应用程序时 它不起作用 我意识到我的代码需要jquery 所以我将jquery代码和我的代码复制到google编译器中 希望它能轻松解决问题 但它也不起作用 在chrome下 代码有
  • Magento 中的 jquery/prototype 冲突

    这是一个基于 Themeforest 的 Acumen 主题的 Magento 商店 出乎意料的是 jquery 的东西现在不起作用了 Acumen 通过 magento 静态块加载 jquery 但这些都没有被触及 昨天我正在努力添加 j
  • ExitFullScreen 不起作用 + 无论如何要按键盘单击按钮?

    我的浏览器 Google Chrome 版本 33 0 1750 154 m Script function exitFullscreen var element document documentElement if element mo
  • jQuery 单属性、带过滤器的多值选择器

    Images var boxlinks a href filter href png href gif href jpg href jpeg 有没有更有效的方法来使用 jQuery 中的过滤器选择单个属性的多个值 这里我尝试仅选择带有图像作
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt
  • jQuery 1.6:backgroundPosition 与 backgroundPositionX 和 FF4 兼容性

    在尝试升级 jQuery 插件 iCheckbox http stackoverflow com questions 6032538 以在 jQuery 1 4 4 之上工作时 我发现使用 animate backgroundPositio
  • 您网站上的自定义 jQuery 脚本有多少行代码?多少才算是太多呢?

    对于我们的网站 我使用了大量 jQuery 现在我正在查看基础库顶部的 340 行 jQuery 代码 多少是太多了 我将添加更多内容 我什么时候开始尝试压缩代码并最终转向 OOP 行数并不意味着什么 重要的是你实际上在做什么 您可能拥有
  • 附加元素在 IE11 中不起作用

    在构造函数中我创建一个元素 var this legendElement this compileLegend 后来我想在事件监听器中使用它 var takeControl function this element empty this
  • 如何使用 jQuery 在 ASP.NET MVC 3 中设置会话变量?

    所以这就是问题 如何使用 jQuery 在 ASP NET MVC 3 中设置 Session 变量 我正在尝试使用 ajax or post但问题是我真的不知道该怎么办 描述 只需发布到控制器并在那里设置会话变量即可 Sample jQu
  • Skrollr 添加空白

    我已经尝试了一切 我在谷歌上阅读了 4 5 页试图找到适合我的修复程序 已经筋疲力尽了 即使我使用 skrollr 示例 我的问题仍然存在 不是说他们做错了什么 我知道我只是没有正确理解它 因此 我上传了一个演示 仅在移动设备上展示这个尴尬

随机推荐

  • 泽西岛 URL 转发

    在 Jersey REST 方法中 我想转发到另一个网站 我怎样才能做到这一点 Path public class News GET Produces MediaType TEXT HTML Path go news id public S
  • 如何基于通用类型“T”初始化 TypeORM 存储库?

    我想启动一个基于通用类型的 TypeORM 存储库 例如 import Connection Repository from typeorm export class GenericService
  • 输入类型数字“仅数字值”验证

    我如何验证输入type number 仅当值是数字或 null 时才有效 仅使用响应式表单 无指令 仅数字 0 9 和 允许 不允许有 e 或任何其他字符 到目前为止我尝试过的 模板
  • 修改linux内核定时器

    我必须运行延迟敏感的应用程序 并且被要求将计时器分辨率更改为 1000 Hz 或更高 我在网上搜索了一下 找到了有关 CONFIG HZ 等的页面 但是 文件中似乎还有其他几个相关设置 因此我想确保不会弄乱这些设置 我在这里发布一些输出 c
  • C++:指向 std::string 转换的 char 指针是否复制内容?

    当我转换一个char to std string使用构造函数 char ps Hello std string str ps 我知道 std 容器在被要求存储值时倾向于复制值 是复制整个字符串还是仅复制指针 如果之后我这样做str Bye
  • 包“com.sun.webkit.dom”在模块“javafx.web”中声明,该模块不会将其导出到模块

    试图从Java 8 to Java 9 我得到这个错误 包 com sun webkit dom 在模块 javafx web 中声明 其中 不将其导出到模块 我该如何解决这个问题 以便预编译器 Intellij 和运行时我不明白这个问题
  • 语法平衡问题

    是否可以强制灵气提升以这种方式表现 生成的语法可以根据一些运行时可计算的条件 规则 速率进行调整 例如 输入由语言结构组成 这会在解析过程中导致不同的选择 有些更频繁 另一些则更少 但替代方案的顺序会影响效率 即语法的运行时最优性 在某些情
  • 上标和下标有 Ansi 转义序列吗?

    我正在玩弄 ANSI 转义序列 例如 echo e e 91mHello e m 在 Linux 控制台上显示彩色文本 现在我尝试使用上标和下标输出 例如a b I read here http www inwap com pdp10 an
  • Jackson JSON 和 Hibernate JPA 的无限递归问题(又一个)

    我找到了大量这方面的资源 例如这个 Jackson JSON 和 Hibernate JPA 问题的无限递归 https stackoverflow com questions 3325387 infinite recursion with
  • 使用 asp.net mvc 用逗号分隔数字

    我正在开发 MVC2 应用程序 我使用数据注释来验证数据 客户端和服务器端 我的模型中有几个字段只允许十进制值 一旦用户输入十进制值 我希望将其转换为逗号分隔的更易读的格式 例如 1200 应格式化为 1 200 而 500 应保持原样 这
  • JavaScript API 不适用于 Excel 2013?

    我刚刚收到了针对我提交的一个加载项的更改建议报告 它说Your add in is not working in the Excel 2013 client on Windows 7 with Internet Explorer 11 我一
  • 如何将 request.getParameterNames 放入字符串列表中?

    是否可以得到request getParameterNames 作为字符串列表 我需要以这种形式提供它 Just 构造 http docs oracle com javase 6 docs api java util ArrayList h
  • memset 不适用于指向字符的指针

    下面的代码有什么问题 memset 应该与指向要填充的内存块的指针一起使用 但此代码在控制台中显示问题 提示分段错误 核心已转储 include
  • 使用 javascript 或 jquery 从外部 xml 文件加载数据

    Hi 我有一个如下所示的 xml 文件
  • Apple ID 可从 Cocoa Touch 内的应用程序下载中检索

    你好 我正在开发一个 iPhone 应用程序 每次下载都需要维护一个唯一的标识符 有没有办法检索用于下载应用程序的 Apple ID 或其他标识符 我可以使用该标识符将所有设备与该下载链接到远程数据库 服务 基本上我想要一个自定义生成的数据
  • Git 递归地将遥控器添加到子模块

    我的机器上有一个 git 存储库 地址为 path to repo 其中包含几个子模块 path to repo submoduleA and path to repo foo bar submoduleB 由于我无法更改工作流程 git
  • Node.js - 注册时发送电子邮件

    我有带有单个电子邮件字段的注册表单 当用户输入电子邮件时 我需要发送注册链接 我见过this https github com alexyoung nodepad blob master app js带有注册表单的 Node js 示例 但
  • 如何将角度应用程序嵌入到另一个应用程序中?

    我的团队开发了一个 Angular 5 应用程序 该应用程序已经投入生产一段时间了 但我们最近的任务是让该应用程序在公司拥有的其他 3 个站点上运行 一个站点是使用 Angular6 构建的 SPA 另一个站点也是 SPA 但使用 Angu
  • 单独的 DataGrid 行可见性

    我有一个WPFDataGrid绑定到一个集合Entity Framework父 EF 对象内部的对象 大致如下
  • jQuery text() 调用在 Firefox 中保留换行符,但在 IE 中则不然

    我正在做 alert div text 在这样的事情上 div lt div gt Some text lt div gt div 为什么要转义内容 因为它有时格式错误 我不希望它干扰或破坏文档的其余部分 在 FF 中它显示保留换行符 在