为什么动态更新 DOM 时 html 源不会改变

2024-03-05

我之前发过一个问题jQuery 在 IE-8 和 FF-3.5.8 中设置只读属性不一致 https://stackoverflow.com/questions/2381621/jquery-inconsistency-in-setting-readonly-attribute-in-ie-8-and-ff-3-5-8并对答案感到非常满意。

但我确实注意到,如果您动态更新(任何?) DOM 元素,然后查看源代码(使用浏览器的查看源代码),我发现更新后的 DOM 元素属性保留其旧值(更新前)。但是,如果您使用 Firebug/IE Developer 工具栏,它会显示更新的 DOM

Example:http://gutfullofbeer.net/readonly.html http://gutfullofbeer.net/readonly.html

FF3.5-查看页面来源:

<html>
  <head>
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js' type='text/javascript'></script>
    <script>
      $(function() {
        $('input.readonly').attr('readonly', true);//set input with CSS class readonly to readonly
      });
    </script>
  </head>
  <body>
    <input type='text' class='readonly' maxlength='20' value='Blort'>This one is read-only<br>
    <input type='text' maxlength='20' value='Fish'>This one is not read-only<br>

  </body>
</html>

这里第一个文本框在 jQuery 中设置为只读document.ready方法。使用浏览器查看源代码会给出类似的标记

<input type='text' class='readonly' maxlength='20' value='Blort'>

Firebug 会给出类似的东西

<input type="text" value="Blort" maxlength="20" class="readonly" readonly=""> 

IE8开发者工具栏:

<input class="readonly" type="text" maxLength="20" readOnly="readonly" value="Blort"/>

所以我的猜测是浏览器(IE8/FF3.5)在 DOM 事件启动之前更早生成 html 源(在我的例子中是 jQuery 的document.ready() )

有人能告诉我幕后发生了什么吗?


查看源是下载到浏览器的源。内存中发生的事情不会在源中更新。

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

为什么动态更新 DOM 时 html 源不会改变 的相关文章

随机推荐

  • 当我只需要计数而不读取 Document-Db 数据库中的所有文档时,如何使用 Linq 构建 IQueryable 查询?

    我需要 Azure Cosmos Db 数据库的集合中存储的文档数量 如何使用 LINQ 查询获取计数IQueryable object docDbClient CreateDocumentQuery
  • Jenkins Pipeline - 在阶段之间传递 Artifact URL

    我的用例是构建一个 Java 作业 将 tar gz zip 部署到 nexus 并将此工件 URL 传递到后续阶段 我在执行其他验证的脚本中使用以下命令 mvn B clean deploy U package deploy deploy
  • React - 如何调整视频反应播放器的大小?

    我阅读了文档 https video react js org components player https video react js org components player 并尝试更改视频的宽度和高度 但没有成功 我在这里也发现
  • Facebook OAuth 突然停止工作

    昨天我注意到我网站的 Facebook 登录已停止工作 在过去的两个月里 这一直运行良好 据我所知 我没有改变任何东西 我已在链接上尝试了一切 例如 以及更多 ASP NET MVC5 OWIN Facebook 身份验证突然不起作用 ht
  • 使用 Eclipse RCP 程序进行打印

    我正在寻找一种好的 标准的方法来在我的 RCP 程序中生成 输出 并打印它 这应该像在 Windows Mac OS 和 Linux 上使用标准打印对话框一样工作 我知道 Birt 项目 但我找不到任何关于如何在 RCP 程序中实现它 如何
  • 在 JavaScript 中插入连字符

    在 JavaScript 中插入连字符的最简单方法是什么 我有一个电话号码 例如 1234567890 在前端显示时 我必须将其显示为123 456 7890使用 JavaScript 实现这一目标的最简单方法是什么 最快的方法是使用一些正
  • 沿着多线以匀称的方式插值每个 X 距离

    如果我有一个形状优美的多线对象 其中包含许多线 每条线的总长度为 50km 从原点追踪时 并且我想沿着多线每 X 米 假设 100m 进行插值 每 100m 返回形状优美的点对象 如何我能实现这个目标吗 这是我到目前为止所得到的 但它只返回
  • 将 MSTest 与 F# 结合使用

    是否可以在 VS2010 中将 MSTest 与 F 一起使用 人们已经多次问过这个问题 但我似乎无法在答案中找到解决方案 有人能够使用 MSTest 进行 F 单元测试吗 还是我应该坚持使用 NUnit 是的 您可以在 VS2010 中将
  • 使用文件名参数批量插入[重复]

    这个问题在这里已经有答案了 我需要将数千个数据文件加载到 SQL Server 表中 因此 我编写了一个只接收一个参数 文件名的存储过程 但是 以下内容不起作用 编译器 抱怨 FileName参数 它只需要纯字符串 如 file txt 提
  • jasmine angularjs 测试 - 参数“PhoneListCtrl”不是函数,未定义

    When running an angularjs Jasmine Karma test I got following error 我的测试脚本是 describe PhoneCat controllers function descri
  • 嵌入可执行文件中的 Qt 图标

    我的选项卡小部件上有一些按钮 这些按钮顶部需要有一些图标 我知道 QPixmap 允许我将图像放在按钮顶部 但我看到这些构造函数将文件路径作为参数 我想避免在构建后在文件中拖动图标 我想以某种方式将这些图标嵌入到可执行文件中 以减少为了使其
  • JavaDocs 抛出 IllegalArgumentException

    我正在使用 Intellij Idea 当我生成 JavaDocs 通过 工具 gt 生成 JavaDoc 时 我会抛出一个 IllegealArgumentException 异常 但没有任何有关发生问题的信息 即使没有 JavaDoc
  • pytest:无法模拟我的班级的 __init__

    我有一个习惯Db类 具有基本操作 我正在尝试围绕它编写测试 在 init 在我的班级中 我正在连接到我想避免的实际数据库 因为我只是编写单元测试 不需要连接到实际数据库 这是我的代码 mock patch mydb Db pytest ma
  • 调试服务

    我编写了一个带有远程接口的服务并将其安装在我的 PC 的 Eclipse AVD 上 我有一个客户端测试工具 它启动并调用服务中的方法 最初 我通过控制类和活动安装了该服务 现在我已将其删除 因此该服务的清单如下所示
  • 请求中的 URL 超出最大重试次数

    我正在尝试获取以下内容应用商店 gt 商业 https itunes apple com in genre ios business id6000 mt 8 import requests from lxml import html pag
  • Crystal Reports 文本截断详细信息部分中的最后一行

    我有一个 Crystal Report 11 文件 它是一封信 第一个详细信息部分包含一个大文本框 其中包含打印日期 地址块和称呼行 每隔一段时间 文本框的最后一行就会被切断 这样就看不到称呼了 这是非常不一致的 因为有时 我为系统中的一个
  • BlackBerry 中的图像按钮

    如何在 BlackBerry 中实现图像按钮 在这里 完整的代码 import net rim device api system Bitmap import net rim device api ui Graphics import ne
  • Python 将 args 转换为 kwargs

    我正在编写一个装饰器 它需要在调用它正在装饰的函数之前调用其他函数 装饰函数可以具有位置参数 但装饰器将调用的函数只能接受关键字参数 有人有一种将位置参数转换为关键字参数的便捷方法吗 我知道我可以获得修饰函数的变量名列表 gt gt gt
  • 正确的 javascript 继承

    我读了很多关于 javascript 中 继承 的文章 其中一些使用new当其他人推荐时Object Create 我读得越多 就越感到困惑 因为似乎存在无数的变体来解决继承问题 有人可以向我展示最受接受的方式 或者事实上的标准 如果有的话
  • 为什么动态更新 DOM 时 html 源不会改变

    我之前发过一个问题jQuery 在 IE 8 和 FF 3 5 8 中设置只读属性不一致 https stackoverflow com questions 2381621 jquery inconsistency in setting r