js中实现DOM操作有哪些常用方法?

更新于
2026-09-30 20:43:39
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计173个文字,预计阅读时间需要1分钟。

js中实现DOM操作有哪些常用方法?

javascriptexport function hasClass(el, className) { let reg=new RegExp(`(${!(\\s|\\S)})${className}(${!(\\s|\\S)})`); return reg.test(el.className);}

export function addClass(el, className) { if (hasClass(el, className)) return; let newClass=el.className.split(' ').concat(className).join(' '); el.className=newClass;}

js中实现DOM操作有哪些常用方法?

gistfile1.txt

export function hasClass(el, className) { let reg = new RegExp('(^|\\s)' + className + '(\\s|$)') return reg.test(el.className) } export function addClass(el, className) { if (hasClass(el, className)) { return } let newClass = el.className.split(' ') newClass.push(className) el.className = newClass.join(' ') } export function removeClass(el, className) { if (!hasClass(el, className)) { return } let reg = new RegExp('(^|\\s)' + className + '(\\s|$)', 'g') el.className = el.className.replace(reg, ' ') } export function getData(el, name, val) { let prefix = 'data-' if (val) { return el.setAttribute(prefix + name, val) } return el.getAttribute(prefix + name) } export function getRect(el) { if (el instanceof window.SVGElement) { let rect = el.getBoundingClientRect() return { top: rect.top, left: rect.left, width: rect.width, height: rect.height } } else { return { top: el.offsetTop, left: el.offsetLeft, width: el.offsetWidth, height: el.offsetHeight } } }

本文共计173个文字,预计阅读时间需要1分钟。

js中实现DOM操作有哪些常用方法?

javascriptexport function hasClass(el, className) { let reg=new RegExp(`(${!(\\s|\\S)})${className}(${!(\\s|\\S)})`); return reg.test(el.className);}

export function addClass(el, className) { if (hasClass(el, className)) return; let newClass=el.className.split(' ').concat(className).join(' '); el.className=newClass;}

js中实现DOM操作有哪些常用方法?

gistfile1.txt

export function hasClass(el, className) { let reg = new RegExp('(^|\\s)' + className + '(\\s|$)') return reg.test(el.className) } export function addClass(el, className) { if (hasClass(el, className)) { return } let newClass = el.className.split(' ') newClass.push(className) el.className = newClass.join(' ') } export function removeClass(el, className) { if (!hasClass(el, className)) { return } let reg = new RegExp('(^|\\s)' + className + '(\\s|$)', 'g') el.className = el.className.replace(reg, ' ') } export function getData(el, name, val) { let prefix = 'data-' if (val) { return el.setAttribute(prefix + name, val) } return el.getAttribute(prefix + name) } export function getRect(el) { if (el instanceof window.SVGElement) { let rect = el.getBoundingClientRect() return { top: rect.top, left: rect.left, width: rect.width, height: rect.height } } else { return { top: el.offsetTop, left: el.offsetLeft, width: el.offsetWidth, height: el.offsetHeight } } }