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

如何办理个人营业执照搜索引擎优化培训免费咨询

如何办理个人营业执照,搜索引擎优化培训免费咨询,网站建设资金报告,地方旅游网站怎么做目录 DOM 树、DOM 对象、元素操作 一、DOM 树与 DOM 对象 二、获取 DOM 元素 1. 基础方法 2. 现代方法(ES6) 三、修改元素内容 四、修改元素常见属性 1. 标准属性 2. 通用方法 五、通过 style 修改样式 六、通过类名修改样式 1. className 属…

目录

DOM 树、DOM 对象、元素操作

一、DOM 树与 DOM 对象

二、获取 DOM 元素

1. 基础方法

2. 现代方法(ES6+)

三、修改元素内容

四、修改元素常见属性

1. 标准属性

2. 通用方法

五、通过 style 修改样式

六、通过类名修改样式

1. className 属性

2. classList 方法(推荐)

七、获取和设置表单的值

1. 输入框(input、textarea)

2. 单选/复选框(radio、checkbox)

3. 下拉框(select)

八、自定义属性(data-*)

1. 定义与访问

2. 修改自定义属性

示例:全选反选案例


DOM 树、DOM 对象、元素操作

DOM(Document Object Model)是浏览器将 HTML 或 XML 文档解析为 树形结构 的编程接口,开发者可通过 JavaScript 动态操作网页内容、结构和样式。


一、DOM 树与 DOM 对象

  1. DOM 树

    • 定义:浏览器将 HTML 文档解析为 树形结构 的层级模型,每个 HTML 标签、属性、文本都对应树中的节点。

    • 结构:包含根节点(document)、元素节点、文本节点、属性节点等。

    • 作用:提供编程接口,让 JavaScript 动态操作网页内容。

  2. DOM 对象

    • 定义:DOM 树中的每个节点都是一个 对象,拥有属性和方法。

    • 类型

      • Element:元素节点(如 <div>)。

      • Text:文本节点。

      • Attr:属性节点。

      • Document:整个文档的入口。

  3. DOM 树示例

<!DOCTYPE html>
<html><head><title>DOM 示例</title></head><body><h1>标题</h1><p class="content">段落</p></body>
</html>
document
├── html (元素节点)
│   ├── head (元素节点)
│   │   └── title (元素节点)
│   │       └── "DOM 示例" (文本节点)
│   └── body (元素节点)
│       ├── h1 (元素节点)
│       │   └── "标题" (文本节点)
│       └── p (元素节点)
│           ├── class="content" (属性节点)
│           └── "段落" (文本节点)
└── ...

二、获取 DOM 元素

1. 基础方法

方法返回类型示例
document.getElementById()单个元素document.getElementById("box")
document.getElementsByClassName()HTMLCollection(动态)document.getElementsByClassName("item")
document.getElementsByTagName()HTMLCollection(动态)document.getElementsByTagName("div")

2. 现代方法(ES6+)

方法返回类型示例
document.querySelector()单个元素document.querySelector(".container")
document.querySelectorAll()NodeList(静态)document.querySelectorAll("li")

区别

  • 动态集合(如 HTMLCollection):元素变化时自动更新。

    const items = document.getElementsByClassName("item");
    console.log(items.length); // 假设初始为 2
    document.body.appendChild(document.createElement("div")); // 动态集合长度自动更新
    console.log(items.length); // 3
  • 静态集合(如 NodeList):查询后不再更新。

    const list = document.querySelectorAll("li");
    console.log(list.length); // 假设初始为 3
    document.body.appendChild(document.createElement("li")); 
    console.log(list.length); // 仍为 3

三、修改元素内容

属性/方法说明示例
innerHTML获取或设置元素的 HTML 内容(解析标签)element.innerHTML = "<b>加粗</b>"
textContent获取或设置元素的文本内容(不解析标签)element.textContent = "纯文本"
innerText获取可见文本(考虑样式,性能较低)element.innerText = "可见文本"

注意

  • innerHTML 可能引发 XSS 攻击(避免插入未经验证的用户输入)。

  • textContent 性能优于 innerText


四、修改元素常见属性

方法说明示例
getAttribute()获取属性值element.getAttribute("href")
setAttribute()设置属性值element.setAttribute("class", "active")
removeAttribute()删除属性element.removeAttribute("disabled")
直接访问属性通过元素属性名快速访问(部分属性需特殊处理)element.id = "newId"

1. 标准属性

直接通过 DOM 对象属性操作:

element.id = "newId";          // 修改 id
element.className = "active";  // 修改 class(覆盖原有类)
element.href = "https://example.com"; // 修改链接

2. 通用方法

element.setAttribute("属性名", "值");  // 设置属性
element.getAttribute("属性名");       // 获取属性
element.removeAttribute("属性名");    // 删除属性

示例

const img = document.querySelector("img");
img.setAttribute("src", "new-image.jpg");
img.removeAttribute("alt");

五、通过 style 修改样式

方法说明示例
style 属性修改内联样式element.style.color = "red"
classList操作类名(添加、删除、切换)element.classList.add("active")
window.getComputedStyle()获取最终计算的样式(包括外部 CSS)getComputedStyle(element).fontSize

直接操作元素的 style 属性(修改内联样式):

element.style.color = "red";            // 单个样式
element.style.backgroundColor = "#fff"; // 驼峰命名
element.style.cssText = "color: red; font-size: 16px;"; // 批量设置

注意

  • 修改 style 只影响内联样式,优先级高于外部 CSS。

  • 频繁操作 style 可能触发重绘(性能敏感时需优化)。


六、通过类名修改样式

1. className 属性

直接覆盖所有类名:

element.className = "class1 class2"; // 覆盖原有类

2. classList 方法(推荐)

精细控制类名:

element.classList.add("new-class");     // 添加类
element.classList.remove("old-class");  // 删除类
element.classList.toggle("active");     // 切换类(存在则删除,否则添加)
element.classList.contains("active");   // 检查是否包含类

优势

  • 避免覆盖其他类名。

  • 支持链式调用:element.classList.add("a").remove("b")


七、获取和设置表单的值

1. 输入框(inputtextarea

const input = document.querySelector("input");
// 获取值
console.log(input.value);
// 设置值
input.value = "新内容";

2. 单选/复选框(radiocheckbox

const checkbox = document.querySelector("input[type=checkbox]");
// 获取选中状态
console.log(checkbox.checked); // true/false
// 设置选中状态
checkbox.checked = true;

3. 下拉框(select

const select = document.querySelector("select");
// 获取选中值
console.log(select.value);
// 设置选中值
select.value = "option2";

八、自定义属性(data-*

1. 定义与访问

HTML 中定义自定义属性:

<div id="user" data-id="123" data-user-name="Alice"></div>

JavaScript 通过 dataset 访问:

const user = document.getElementById("user");
console.log(user.dataset.id);          // "123"
console.log(user.dataset.userName);    // "Alice"(驼峰命名转换)

2. 修改自定义属性

user.dataset.id = "456";            // 修改 data-id
user.dataset.userRole = "admin";    // 添加 data-user-role
delete user.dataset.userName;       // 删除 data-user-name

注意

  • 属性名需符合 data-* 格式。

  • dataset 会自动将短横线命名转为驼峰式(如 data-user-name → userName)。


示例:全选反选案例

<body><table><tr><th class="allCheck"><input type="checkbox" name="" id="checkAll"> <span class="all">全选</span></th><th>商品</th><th>商家</th><th>价格</th></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米手机</td><td>小米</td><td>¥1999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米净水器</td><td>小米</td><td>¥4999</td></tr><tr><td><input type="checkbox" name="check" class="ck"></td><td>小米电视</td><td>小米</td><td>¥5999</td></tr></table><script>const checkAll = document.querySelector('#checkAll')const checks = document.querySelectorAll('.ck')checkAll.addEventListener('click', function () {for (let i = 0; i < checks.length; i++) {checks[i].checked = checkAll.checked}})for (let i = 0; i < checks.length; i++) {checks[i].addEventListener('click', function () {checkAll.checked = document.querySelectorAll('.ck:checked').length === checks.length})}</script>
</body>

http://www.dtcms.com/wzjs/518654.html

相关文章:

  • 北京网页设计师培训班快速seo关键词优化技巧
  • 设计h5是什么意思宁波网站seo哪家好
  • 做电商网站要备案吗万网域名
  • 找家里做的工作到什么网站谷歌关键词工具
  • 外贸网站建设哪家快速app推广平台
  • 厦门网站建设小程序开发搜索热门关键词
  • 免费推广app软件下载windows优化大师会员兑换码
  • 宣武深圳网站建设公司有没有专门做策划的公司
  • 武夷山网站定制蜘蛛搜索引擎
  • 现成的手机网站做APP中文域名交易网站
  • 贵阳市有翻译资质的公司网站排名优化化快排优化
  • 南京做网站的客户电话百度搜索推广流程
  • 计算机培训班要学多久全网搜索引擎优化
  • 网站轮换图片怎么做百度网盘网站入口
  • 淮安市住房和城乡建设局网站成都网络营销公司
  • 公司网页设计制作价格seo如何提升排名收录
  • 专业的河南网站建设360推广登录
  • 呼市做开发网站的公司关键词排名优化价格
  • 手机网站专业代做百度网页版登录入口官网
  • php的网站优化水平
  • 可以做盗版漫画网站吗网络营销策划案
  • 菜单宣传网站怎么做如何联系百度人工客服电话
  • it外包公司可以进吗优化网站制作方法大全
  • 国企网站的建设2023b站免费推广入口
  • 医院网站建设的目的网页设计制作网站教程
  • 东莞虎门最新疫情最新消息西安网站优化公司
  • 网站怎么做百科网络营销的具体形式种类
  • 网站后台怎么做超链接酒吧营销用什么软件找客源
  • 一个最简单的产品展示的asp网站应该如何做一份完整的电商运营方案
  • 电子商务网站设计与网络营销实验莆田网站建设优化