removeAttribute() 不适用于 DOM

2024-04-12

为什么不removeAttribute()删除以下代码中的任何内容:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>test</title>
</head>
<body>
    <div id="myDiv">
        Element with style.
    </div>
    <br />
    <br />
    <button onclick="DelStyle()">
        Remove the style attribute from the element
    </button>
    <script type="text/javascript">
        function DelStyle() {
            var div = document.getElementById("myDiv");
            console.log(div)
            div.style.border = 'solid #3B3B3D 1px';
            console.log(div)
            div.removeAttribute("style");
            console.log(div)
        }
    </script>
</body>
</html>

只需在removeAttribute(“style”)之前调用getAttribute(“style”)即可。

e.g.

    function DelStyle() {
        var div = document.getElementById("myDiv");
        console.log(div)
        div.style.border = 'solid #3B3B3D 1px';
        console.log(div)
        div.getAttribute("style");
        div.removeAttribute("style");
        console.log(div)
    }

See http://jsfiddle.net/qTv22/ http://jsfiddle.net/qTv22/

这看起来很像 Chrome JS 优化错误。尽管 HTML5 规范说

style IDL 属性必须返回一个 CSSStyleDeclaration,其值 表示属性中指定的声明(如果存在)。 改变 CSSStyleDeclaration 对象必须创建一个样式属性 在元素上(如果还没有),然后更改其值 是表示序列化形式的值 CSSStyleDeclaration 对象。每次必须返回相同的对象 时间。

Chrome 试图尽可能推迟样式属性的创建,以便 IDL 属性的一系列突变可以汇总到内容属性的单个创建/更改中。该代码只是省略了在调用removeAttribute之前执行创建/更改操作,但对getAttribute执行正确。创建内容属性后,removeAttribute 将成功销毁它。

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

removeAttribute() 不适用于 DOM 的相关文章

随机推荐

  • DEP0600:部署失败。 XmlException - '.'(十六进制值 0x00)是无效字符

    MS VS2017 微软 Visual Studio 2017 DEP0600 部署失败 XmlException 十六进制值 0x00 是无效字符 编辑开始 解决方案可能就在附近 请保留建议一天 在 回复下面的评论 我已将原来的VS201
  • Firebase 将匿名用户帐户转换为永久帐户错误

    使用 Firebase for web 我可以成功创建匿名用户 我还可以创建一个新的电子邮件 密码用户 但是当尝试将匿名用户转换为电子邮件 密码用户时 我收到错误 auth provider already linked User can
  • C#:设置任意维度数组中的所有值

    我正在寻找一种将多维数组中的每个值设置为单个值的方法 问题是维数在编译时是未知的 它可能是一维的 也可能是 4 维的 自从foreach不允许你设定价值观 我可以实现这一目标的一种方法是什么 非常感谢 虽然这个问题表面上看起来很简单 但实际
  • sqlite - 查找可以由一组成分制成的食谱

    现在我在ios应用程序中使用sqlite 我希望能够搜索可以从成分列表中制作的食谱 即作为所提供成分的子集的食谱 例如 Recipe 1 A B C Recipe 2 A B Recipe 3 C D Recipe 4 A Recipe 5
  • 恢复 Vim 备份

    Vim 的文件备份系统刚刚保存了我众所周知的 但我有一个问题 我有 vim 保存备份到 vim backups 为了恢复它们 我进入该目录并将所需的文件 按日期排序 复制回项目文件夹中的必要目录 很简单 只有 5 个文件 然而 令我惊讶的是
  • 在 iPhone 地图中显示当前位置的标题

    我是 iPhone 开发新手 我已经创建了地图应用程序 并显示了当前位置并将图钉放置到当前位置 现在我想在单击图钉时显示当前位置的标题和副标题 请帮帮我 Thanks 要显示标题和副标题 您添加到地图的注释对象必须响应 title and
  • Swing JButton Swing 的圆角没有实际 JButton 的功能 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 1 https i stack imgur com rZJjV png 我已经浏览过代码Swing 外观的 Java 文档 http
  • CSS 中区分:通过 Tab 键获得焦点和:通过单击获得焦点

    虽然我很确定我的问题的答案是 做不到 但我想确定一下并在这里问你们 我有一个相当典型的场景 我想通过我的网站启用选项卡 即使用键盘上的选项卡键 用户刚刚点击的项目应该通过 CSS 进行视觉标记 到目前为止 一切都很好 显然 这需要焦点伪类
  • 如何区分未传递的参数和传递错误值的参数?

    我试图找出在 Perl 中区分未传递参数和参数已作为 0 传递的情况的最佳方法 因为它们对我来说意味着不同的事情 通常我喜欢这种歧义 但在本例中我生成 SQL 因此我想用 NULL 替换未定义的参数 但将 0 保留为 0 所以这就是歧义 s
  • 查询 Jenkins 中最后成功的版本号并进行更改

    例子 32 fail 31 stable no change triggered by parent 30 stable with changes 29 fail 我想要返回一个查询30 到目前为止我得到的是 要查询最后一个稳定版本号 ht
  • 通过将函数应用于数据框的每一行来创建具有命名值的列表

    我试图通过将函数应用于数据帧的每一行来获取每个元素都有名称的列表 但无法获得正确的输出 假设这是我想要应用于每一行的函数 format setup name lt function m v s a lt list a paste m mac
  • 如何使用 TensorFlow 加载稀疏数据?

    有一个关于加载稀疏数据的小片段 但我不知道如何使用它 SparseTensors 不能很好地处理队列 如果您使用 SparseTensors 则必须在批处理后使用 tf parse example 解码字符串记录 而不是在批处理之前使用 t
  • Ruby 中的每个自动计数器?

    我想使用 for each 和计数器 i 0 for blah in blahs puts i to s blah i 1 end 有更好的方法吗 Note 我不知道是否blahs是一个数组或一个散列 但必须这样做blahs i 不会让它变
  • 如何让eclipse记住ssh密钥密码?

    我将 Egit 与 Eclipse 结合使用来使用 git 并访问 github 一切工作正常 但我想省略一件事id rsa每次我将提交推送到 github 时都需要输入密钥密码 每次重新启动 Eclipse 并尝试推送时 都会要求我输入密
  • 对齐CSS中旋转的元素

    我尝试旋转页面上的 div 并将其靠在其父元素 在本例中为主体 的左侧 我了解变换原点 但无论我插入什么值 它都无法正确对齐 http jsfiddle net QpHCM http jsfiddle net QpHCM HTML div
  • JSDOC:如何记录函数的内部变量

    有没有办法让 JSDOC 显示函数内部的变量而不使用 命名空间函数前面的注释 我做了一个小测试对象 但它只会显示内部变量k对于最后一个函数 它被声明为命名空间 我想使用 成员 注释和精确 name注释将在下面调用的第二个方法中显示内部变量d
  • 链接网页、Facebook Like 按钮和 Facebook 粉丝页面?

    这可能吗 当有人点击 Facebook Like 按钮时 他 她会与 Facebook 上的朋友分享网页 URL 通过同样的点击 用户也成为该网站 Facebook 粉丝页面的粉丝 Thanks 虽然可以在您的网站上添加喜欢按钮来喜欢您的
  • 在 postgresql 中编写我自己的聚合函数

    我从来没有写过自己的聚合 只写过存储过程 我需要一些建议 我想编写一个自定义聚合 它将返回整数行的最大值并将其增加 10 我该怎么做 我试过这个 CREATE AGGREGATE incremented max v SFUNC max ST
  • 扩展 C# 语言?

    基本上我想知道的是是否有任何方法可以向基于 net 的语言添加新的 语句 我正在寻找的一个例子是类似介绍public class MyClass decoratorOf ClassWithLotsOfMethods并在预编译时将其更改为普通
  • removeAttribute() 不适用于 DOM

    为什么不removeAttribute 删除以下代码中的任何内容 div Element with style div br br