当前位置: 首页 > news >正文

获取dom元素操作整理

文章目录

    • 获取元素属性和方法
      • 方法
        • jQuery方法
      • 属性
        • jQuery方法
    • 增删改操作
      • 创建
      • 添加
      • 克隆
      • 删除
      • jQuery方法
    • 自定义属性
      • jQuery
    • 修改样式
      • jQuery方法
      • document可以获取的盒子模型属性
        • js盒子模型
      • 获取指定元素的 CSS 样式
        • jQuery方法

获取元素属性和方法

整理与参考

方法

document.getElementById([ID])// 通过id获取元素节点document.getElementsByTagName([Tag-name])// <input name="myInput" type="text" size="20" /><br />// <input name="myInput" type="text" size="20" /><br />// <input name="myInput" type="text" size="20" /><br />// 这里获取通过document.getElementsByTagName('input') // length == 3document.getElementsByClassNmae([Class-name])// 通过类名获取节点 在IE6-8不兼容document.getElemnetsByName([Name])// <input name="myInput" type="text" size="20" /><br />// <input name="myInput" type="text" size="20" /><br />// <input name="myInput" type="text" size="20" /><br />// 这里获取通过document.getElemnetsByName('myInput') length == 3 在IE中只对表单的name有用document.querySelector([SELECTOR])// SELECTOR选择器语法document.querySelectorAll([SELECTOR])//document.querySelector(#id)//document.querySelector(.className)//document.querySelector(tagName)// 在IE6-8不兼容
jQuery方法
$(selector,context)// selector是选择器,context是可选,可以获取指定元素下的元素

属性

document// 文档本身节点

document.documentElement//不包含html文档识别格式

documnet.head// head节点下的所有document.body// body节点下的所有node.childNodes// 节点的子节点node.children// 所有元素的子节点node.parentNode// 父节点firstChild/firstElementChild lastChild/lastElementChild previousSibling/previousElementsSibling//上一个兄弟节点nextSibling/nextElementSibling// 下一个兄弟节点// 带有Element只有在IE>8才兼容
jQuery方法
$(selector,context).children(selector)$(selector,context).parent()$(selector,context).parents()// 找到所有的父元素直到body$(selector,context).siblings()// 所有的兄弟节点$(selector,context).prev()// == previousSibling 兄弟节点$(selector,context).prev(selector)// 获取第一为p的兄弟节点$(selector,context).preAll()$(selector,context).next()$(selector,context).nextAll()// 查找$(selector,context).find(selector)// 查找$(selector,context).find(selector).filter(selector)// 筛选查找的结果

支持一些伪类选择器
$(selector:eq(n))获取第n个元素
eq(n)获取索引为n
gt(n)获取大于n的元素
lt(n)获取小于索引的元素

增删改操作

创建

document.createElement([tag-name])// 元素节点document.createTextNode([Text Content])// 文本节点varh=document.createElement("H1")vart=document.createTextNode("Hello World");h.appendChild(t);

添加

node.appendChild(node)node.insertBefore(newItem,existingItem)varnewItem=document.createElement("LI")vartextnode=document.createTextNode("Water")newItem.appendChild(textnode)varlist=document.getElementById("myList")list.insertBefore(newItem,list.childNodes[0]);// 将新的itemnode添加在list的子节点的第一个位置

克隆

element.cloneNode([boolean])//克隆element,参数boolean是深克隆还是浅克隆

删除

parent.removeChild(element)// 这里的element使用前面获取的方法,比如parent的子节点等方式

jQuery方法

// 添加$(selector).append(element)$(selector).html(str)// innerHTML$(selector).text(str)// innerText$(selector).inserBefore(element)// 放到元素前面$(selector).inserAfter(element)// 放到元素后面$(selector).appendTo(element)// 放到末尾加入$(selector).prependTo(element)// 放到末尾前面// 克隆$(selector).clone(Boolean)// 布尔值只是函数事件是否复制// 不使用克隆则是移动元素// 删除$(selector).remove()// 设置表单元素的值$(selector).val()// get$(selector).val('1')// set

自定义属性

element.xx=xx element.xx// getdeleteelement// deleteelement.setAttribute('xx',xxx)element.getAttribute('xx',xxx)// 获取属性值element.removeAttribute('xx')// 移除属性值

jQuery

$(selector).attr('name')// 获取$(selector).attr('name','value')// 设置// 批量设置$(selector).attr({'name1':'value1','name2':'value2'})$(selector).removeAttr('name')// 获取// 表单一般使用prop$input.prop('name')// 获取$input.prop('name','value')// 设置

修改样式

element.style.xx='xx'// 修改行内样式element.className='xx'// 设置样式类

jQuery方法

$(selector).css('width',200)$(selector).addClass('name')$(selector).removeClass('name')// 移除$(selector).hasClass('name')// 验证$(selector).toggleClass('name')// 有就移除,没有就添加// 获取$(selector).css('width')

document可以获取的盒子模型属性

传统盒子模型:宽度=width+左右padding+左右border
box-sizing:content-box(传统盒子模型),border-box(新盒子模型)
新盒子模型:宽度= width 会自动适应padding和border

js盒子模型
  • client 可视区域
  1. width /height (不包括内容溢出)
  2. top/left 盒子的左上边框的高度,border
  • offset
  1. width/height (可视区域+border)
  2. top / left 盒子的偏移值
  3. parent // 不一定是父元素,这里获取的是夫参照物
  • scroll
  1. width/height (可以获取溢出内容)>=clientWidth
  2. top/left 窗口相对于内容的位置

获取指定元素的 CSS 样式

window.getComputedStyle(element, 伪类)/ element.currentStyle(IE兼容)
获取当前元素所有经过计算的样式

letstyle=window.getComputedStyle(element,null)style.width// style的width的值//ie6-8style=element.currentStyle;
jQuery方法
$(select).offset()// 偏移值$(selector).position()// 父参照物的移动$(selector).innerHeight/Width()// client$(selector).outerHeight/Width()// offset$(selector).scrollTop/Left()// 设置scrollTop/Left
http://www.jsqmd.com/news/1281336/

相关文章:

  • 2026沧州奢侈品回收指南 素军奢品汇13111597382本地正规交易渠道 - 素军奢品汇
  • 2026 年合肥装修避坑|高口碑装企梯队汇总 - 城刊速递
  • OpenAI 模型失控突破沙箱攻击 HuggingFace:AI 安全的斯普特尼克时刻
  • 2026年8月云南省文山资质齐全的刑事辩护律师推荐郑周洪:深耕滇东南刑事辩护领域,郑周洪律师以专业守护当事人合法权益 - 十大排行榜推荐
  • 2026新版遵义防水补漏服务商参考|阳台渗漏修缮方案指南 - 筑宅安
  • Unity UGUI一键绑定工具:基于反射与特性的自动化UI控件绑定方案
  • 极简、国风、户外森系:兰州百天照3大主流风格推荐,附适合的宝宝月龄与穿搭 - 生活测评君
  • Zotero-GPT终极指南:如何用AI插件快速提升文献管理效率
  • 如何用GetQzonehistory完整备份QQ空间说说:三步找回青春记忆的终极指南
  • 免费开源虚拟桌面伴侣:Mate Engine 终极使用指南
  • 前端转AI Agent开发,焦虑迷茫?真相是:你的经验是核心资产,机会比想象中更大!
  • 2026.7月青秀区南宁防水补漏指南:科学修缮告别年年修年年漏 - 超人防水
  • 环形天线设计原理与应用指南
  • 2026察哈尔右翼后旗氧化钙厂家推荐,氢氧化钙厂家推荐:4个常见坑+5条硬标准选购指南 - geo88
  • 5分钟开启你的QQ空间时光机:GetQzonehistory让青春记忆永不褪色
  • 衡阳市马桶疏通 / 管道疏通|本地市民好评,满分十星平台+ ICP 多重备案 | 2026首选小蚁匠 - 欧米到家
  • 新乡市马桶疏通 / 管道疏通|本地市民好评,满分十星平台+ ICP 多重备案 | 2026首选小蚁匠 - 欧米到家
  • 职业规划全景解析:锚定 β 大势,构筑个人 α 超额行情
  • VR视频转换终极教程:免费工具让任何设备都能播放VR视频
  • 基于MATLAB时间卷积网络的心电房颤智能分类系统
  • 通川人卖黄金别乱找!我妈卖金被骗3次后,终于找到这3家靠谱店 - 得天独厚
  • HTTP环境下Clipboard API兼容性问题与降级方案
  • three.js 编辑器的模板与复用机制
  • Linux系统构建高可用水产养殖监控集群实战
  • 中山发电机回收10个高频问题:品牌估价+拆机+危废处置全解答 - 广东再生资源回收
  • 天津南开区本地防水补漏精选 TOP5 推荐:正规漏水检测维修公司上门师傅推荐:厕所 / 棚顶 / 屋面 / 飘窗 / 阳台 / 地下室 / 厨房渗漏水精准测漏维修(2026 最新) - 超人防水
  • AI 编程工具集体变脸:Cursor 漏洞、TRAE 限额、Claude Code 数据收集风波
  • 2026.7月南山区深圳防水补漏指南:科学修缮告别年年修年年漏 - 超人防水
  • dmesg | grep -iE “ttyACM|suspend|resume|disconnect“ | tail -30 什么时候用dmesg这个关键字?我怎么知道某个问题是内核相关?
  • 隆尧固城镇做仿石漆找谁放心?李洪通(璐宝仿石漆)靠得住吗? - 城刊速递