firstChild, className,childNodes,parentNode的简单实用

本文介绍了如何使用JavaScript操作DOM中的节点,包括获取父对象、父节点及子节点的方法,并展示了如何通过修改背景图片和类名来改变页面元素的样式。
  function showmsg(obj) { document.getElementById("qxdt").background="images /JX2_630.jpg"; document.getElementById("qxdt").firstChild.classNa me="bz1"; document.getElementById("qsydt").background="image s/JX2_630.jpg"; document.getElementById("qsydt").firstChild.classN ame="bz1";document.getElementById("jnrcpy").backgro und="images/JX2_630.jpg"; document.getElementById("jnrcpy").firstChild.class Name="bz1";document.getElementById("cxcgyy").backgr ound="images/JX2_630.jpg"; document.getElementById("cxcgyy").firstChild.class Name="bz1"; obj.background="images/JX2_28.jpg"; obj.firstChild.className="bz"; } aaa aa dd dd dd das dadf dsaf sdafu adfsaf sdaf sdaf asdf sfa aa
  function rdl_fnSwap(){
  oList.children(2).swapNode(oList.children(1));
  }
  
  
  第1个列表项目
  第2个列表项目
  第3个列表项目
  第4个列表项目
  
  
  parentElement 获取对象层次中的父对象。
  parentNode 获取文档层次中的父对象。
  childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。
  children 获取作为对象直接后代的 DHTML 对象的集合。
### 如何使用 JavaScript 实现标识功能 在网页开发中,“标识”通常指的是高亮显示某些特定的内容或者给某个 DOM 节点附加额外的信息以便后续操作。以下是几种常见的实现方式: #### 方法一:通过修改 CSS 类名实现高亮效果 可以通过 `Element.classList` API 来动态添加或移除类名,从而改变目标元素的样式。 ```javascript function highlightElement(element, className = 'highlight') { element.classList.add(className); } // 示例调用 const targetElement = document.querySelector('#target'); highlightElement(targetElement); // 高亮指定元素 ``` 这里假设 `.highlight` 是一个预定义好的 CSS 类[^1],它包含了用于视觉上突出显示的效果。 #### 方法二:创建并附着新的 HTML 元素作为标记 如果希望更直观地标记某部分区域,则可以生成一个新的标签(比如 `<span>` 或者自定义组件),将其放置到文档流中的适当位置。 ```javascript function markText(nodeList) { nodeList.forEach((node) => { const markerSpan = document.createElement('span'); markerSpan.style.backgroundColor = '#FFFF00'; // 设置背景颜色为黄色表示被选中状态 while (node.firstChild) { markerSpan.appendChild(node.firstChild); } node.parentNode.insertBefore(markerSpan, node.nextSibling); node.remove(); }); } // 使用示例 let selectedNodes = window.getSelection().getRangeAt(0).cloneContents(); markText(selectedNodes.childNodes); ``` 上述代码片段展示了如何捕获当前用户的文本选择范围,并对该范围内所有的节点应用特殊的外观处理逻辑[^2]。 #### 方法三:利用数据属性存储元信息 除了可视化的标注之外,在不干扰界面布局的情况下也可以借助HTML5的数据特性来记录关联资料。 ```javascript function tagWithMetadata(elementsArray, keyName, keyValue){ elementsArray.forEach(function(el){ el.setAttribute(`data-${keyName}`, keyValue); }) } var paragraphs = Array.from(document.querySelectorAll('p')); tagWithMetadata(paragraphs , 'category' ,'introduction'); ``` 此段脚本会遍历页面上的所有段落(`<p>`)并将它们分类设为“介绍”。 --- ### 注意事项 当执行这些操作时需要注意浏览器兼容性和性能影响等问题;另外还需考虑用户体验方面因素如是否允许撤销动作等扩展需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值