编辑器

加入公司的第一个工作任务就是把编辑器增加个按钮对接腾讯文档, 纯 js 书写方式, 所以针对可能遇到的 API 方法记录下。

getElementById

getElementsByTagName

getAttribute

setAttribute

这些方法都是dom-core 的组成部分

用法:

which.getAttribute("href");

var source = placeholder.setAttribute("src", "source")

一些传统的方法 document.write 和 innerHTML

document.write('<p>This is instered</p>')

新式的 appendChild 和 insertBefore

当需要把一大段HTML内容插入网页时, innerHTML 属性更适用, 一旦使用了innerHTML 属性,他的全部内容都将被替换。

在已有元素前面插入一个新元素

编写insertAfter 函数

文档里面的每个元素都是一个对象, 每个元素都有一个style 属性,它们也都是一个对象。

减号、和加号之类的操作符是保留字符,不允许用在函数或变量的名字里。

css样式属性的名字里有多少个连字符,dom 一律采用驼峰命名的方法表示

  1. 直接设置style的属性 某些情况用这个设置 !important值无效

如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式 element.style['text-align'] = '100px';

element.style.height = '100px'; 2. 直接设置属性(只能用于某些属性,相关样式会自动识别)

  1. 直接设置style的属性 某些情况用这个设置 !important值无效

如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留 - 号,就中括号的形式

  1. 直接设置属性(只能用于某些属性,相关样式会自动识别)

  1. 设置style的属性

  1. 使用setProperty 如果要设置!important,推荐用这种方法设置第三个参数

  1. 改变class 比如JQ的更改class相关方法

因JS获取不到css的伪元素,所以可以通过改变伪元素父级的class来动态更改伪元素的样式

  1. 设置cssText

兼容性

难点

处理的bug

最后更新于

这有帮助吗?