天天看点

jq text/html/val, empty/html, empty/remove/detach区别text/html/valempty/htmlempty/remove/detach

text/html/val

text

  • 设置或返回被选元素的文本内容

html

  • 设置或返回被选元素的内容(包含标签)

val

  • 设置或返回被选元素的值 (多用于input)

empty/html

  • empty与html('')都是清空元素节点,html会造成内存泄漏
  • 原因:jquery 对于同一元素多事件处理没有直接采用浏览器事件模型,而是自己缓存事件,遍历触发

empty/remove/detach

  • empty 清空节点内容,节点(标签)还在
  • remove 节点与内容都清空(标签不在了),不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除
  • detach 不会把匹配的元素从jQuery对象中删除,因而可以将来再次使用这些匹配的元素,与remove()不同的是,所有的绑定事件、附加的数据也会保留下来。(保留事件用detach)
jq