PS入门基础<2>

1.ctrl+】图层逐个向上移动
ctrl+【图层逐个向下移动
ctrl+shift+】图层直接到达最顶层
ctrl+shift+【图层到达最底层

2.alt+delete快速填充前景色

ctrl+delete快速填充背景色

3.shift+u/m/w等等可以快速选择用同一个快捷键的工具

4.再次进行编辑:首先ctrl+j复制图层,ctrl+t编辑,按住shift键,单击鼠标左键,往右边移动,enter结束编辑,ctrl+alt+shift+t再次进行编辑。

5.i 吸管工具。

6.ctr+e 合并。

7.ctrl+alt+g剪切蒙版,执行与取消;
手动挡:按住alt键,把光标放在这两个图层中间,出现剪切蒙版光标,单击鼠标左键,执行与取消。

8.左中括号可以使画笔变小,右中括号可以使画笔变大。

9.按下u自定义形状工具,属性栏里面选择路径,按下b画笔,调整画笔大小,alt+enter,快速进行路径描边,按下u,enter,结束路径

用色规则

1.互补色:红——绿,蓝——橙,黄——紫。

2.所有的用色不能一半一半,可以缩小一方面积,降低纯度,提高明度,尽量少用纯色。

3.如果暗部颜色整体偏冷,则亮部颜色整体应该偏暖;
如果暗部颜色整体偏暖,则亮部颜色整体应该偏冷。

4.ctr+f 之前用过的最后一个滤镜

5.做图片要有黑白灰

例如:

这里写图片描述

这里写图片描述

<think>嗯,用户想学习如何用JavaScript操作DOM节点,包括添加标题和删除元素,还提到了节点层级和按钮事件。我需要从基础开始解释,确保他们能逐步理解。首先,我应该介绍DOM是什么,可能用户对DOM的概念还不熟悉,需要简单解释一下。然后,具体到添加节点,比如创建元素、设置内容、添加到父元素中。可能需要用createElement、appendChild这些方法,还要提到insertBefore之类的其他方法吗?或者先保持简单,只讲最常用的。 删除元素方面,用户可能需要知道如何通过removeChild或remove()方法来实现。这里要分步骤说明,比如先获取父节点,再删除子节点。或者直接使用元素自身的remove方法,这样更简单。需要注意兼容性吗?现代浏览器都支持remove()了,可能不需要太担心。 节点层级部分,用户可能想知道如何遍历DOM树,比如父节点、子节点、兄弟节点的访问。比如parentNode、children、previousElementSibling、nextElementSibling这些属性。这部分可能需要举例说明,让用户清楚如何获取这些节点。 按钮事件处理,用户可能想通过点击按钮来触发添加或删除操作。所以需要展示如何用addEventListener绑定点击事件,在回调函数中执行DOM操作。这里要注意事件监听的正确用法,比如获取按钮元素,然后绑定事件。 接下来,是否需要提供一个完整的示例代码?这样用户可以直观地看到各部分如何组合在一起。比如一个包含按钮和容器的HTML结构,然后JavaScript代码实现添加标题和删除元素的功能。这样用户可以复制代码运行,看到效果。 还要考虑用户可能的疑问,比如动态创建的元素如何绑定事件,或者如何确保元素被正确删除。是否需要解释事件委托?或者保持示例简单,先专注于基础操作? 生成相关问题时,应该覆盖用户可能进一步想知道的内容,比如性能优化、其他DOM操作方法、事件委托、动态内容处理等。这样用户如果有兴趣可以继续深入学习。 需要检查LaTeX格式是否正确,但用户的问题是关于JavaScript的,可能不需要数学公式。不过根据系统指令,所有行内数学表达式需要用$...$,但这里可能用不上。不过示例中的代码块需要用正确的格式,比如Python示例,但用户这里需要的是JavaScript,所以确保代码语法正确,使用JavaScript的高亮。 可能还需要提到最佳实践,比如在删除元素前检查是否存在,或者避免过多的DOM操作影响性能。但作为入门教程,可能先不涉及太深,保持简单明了。 总结一下,回答的结构应该是:先介绍DOM操作的基本概念,然后分步骤讲解添加和删除元素的方法,节点层级的访问,按钮事件的处理,最后给出一个综合示例。相关问题可以包括事件委托、性能优化、其他DOM方法等。</think>### JavaScript DOM节点操作指南 #### 一、DOM基础概念 DOM(Document Object Model)是HTML文档的编程接口,通过JavaScript可以动态修改页面结构。例如:通过`document.getElementById()`获取元素时,实际访问的是DOM树的节点[^1]。 #### 二、添加子节点 1. **创建元素** ```javascript const newHeading = document.createElement('h2'); newHeading.textContent = '动态添加的标题'; ``` 2. **插入元素** ```javascript // 追加到容器末尾 document.getElementById('container').appendChild(newHeading); // 插入特定位置 const parent = document.querySelector('.list'); const referenceNode = parent.children[1]; parent.insertBefore(newHeading, referenceNode); ``` #### 三、删除元素 ```javascript // 方法1:通过父节点删除 const elementToRemove = document.querySelector('.target'); elementToRemove.parentNode.removeChild(elementToRemove); // 方法2:直接删除(现代浏览器) elementToRemove.remove(); ``` #### 四、节点层级操作 | 属性 | 说明 | 示例 | |-------------------------|---------------------------|-------------------------------| | `parentNode` | 获取父节点 | `element.parentNode` | | `children` | 获取所有子元素节点 | `container.children[0]` | | `previousElementSibling`| 获取前一个兄弟元素 | `item.previousElementSibling` | | `nextElementSibling` | 获取后一个兄弟元素 | `item.nextElementSibling` | #### 五、按钮事件绑定 ```html <button id="addBtn">添加标题</button> <button id="removeBtn">删除最后一个元素</button> <div id="content"></div> <script> document.getElementById('addBtn').addEventListener('click', () => { const div = document.createElement('div'); div.innerHTML = `<h3>${new Date().toLocaleTimeString()}</h3>`; document.getElementById('content').appendChild(div); }); document.getElementById('removeBtn').addEventListener('click', () => { const container = document.getElementById('content'); if (container.lastChild) { container.removeChild(container.lastChild); } }); </script> ``` #### 六、关键注意事项 1. 批量操作DOM时建议使用`DocumentFragment`提升性能 2. 事件委托可优化动态生成元素的事件绑定 3. `innerHTML`会触发重绘,建议优先使用`textContent` ```mermaid graph TD A[按钮点击事件] --> B{事件类型} B -->|添加操作| C[创建新元素] B -->|删除操作| D[定位目标元素] C --> E[插入DOM树] D --> F[执行删除] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值