js原生获取某个div下的所有子节点

最终效果:
在这里插入图片描述

<!DOCTYPE html>
<html>
<title>js原生获取某个div下的所有子节点</title>
<head>
<style type="text/css">
#wrapper {
    background-color: pink;
}
#wrapper .row {
    border: 1px solid #000;
}
</style>        
</head>
<body>
    <div id="wrapper">
        <div class="row"><input type="checkbox" value="98" /> <span>什么鬼写法</span></div>
        <div class="row"><input type="checkbox" value="99" /> <span>不会吧</span></div>
        <div class="row"><input type="checkbox" value="100" /> <span>啊这</span></div>
    </div>
</body>
<script>
function doJsFor() {
    var checkedArray = ['99','100']; // 选中的value
    var parentNode = document.getElementById('wrapper'); // 获取到input们的父节点
    var inputArray =  parentNode.getElementsByTagName('input'); // 获取到所有input节点
    for(let i=0;i<inputArray.length; i++){
        for(let j=0;j<checkedArray.length; j++){
            if(inputArray[i].value === checkedArray[j]) {
                inputArray[i].checked = 'checked'; // 动态给input赋值
            }
        }
    }
}
doJsFor();
</script>
</html>在这里插入代码片
### 如何通过 JavaScript 原生 DOM 操作获取 `div` 元素中的文本 在 JavaScript 中,可以通过多种方式获取 `div` 元素内的文本内容。以下是几种常见的方法: #### 使用 `innerText` `innerText` 属性可以用来读取或设置指定元素的纯文本内容。它只返回用户可见的文本部分,并且会考虑样式(如隐藏的内容不会被包含)。 ```javascript const divElement = document.getElementById('myDiv'); console.log(divElement.innerText); // 输出该 div 的可见文本内容[^1] ``` #### 使用 `textContent` `textContent` 是一种更通用的方式,用于访问或修改某个节点及其子节点的所有文本内容。无论这些内容是否对用户可见,都会被包括进来。如果目标是处理所有实际存在的文字数据而不关心其显示状态,则推荐此选项。 ```javascript const divElement = document.querySelector('div'); console.log(divElement.textContent); // 打印整个 div 节点树下的全部文本字符串[^4] ``` #### 使用 `innerHTML` 提取消除 HTML 标签后的文本 虽然严格来说这不是专门设计来提取纯文本的方法,但是你可以先取得完整的 innerHTML 字符串再利用正则表达式或者其他工具去除其中嵌套的各种 html tag 来达到目的。不过这种方法效率较低而且容易出错,在大多数情况下应该优先选用上述两种方案之一。 示例代码如下所示: ```javascript // 不建议的做法:手动解析 HTML 并去掉标签 function stripHtmlTags(htmlString){ let tempDiv=document.createElement("div"); tempDiv.innerHTML=htmlString; return tempDiv.textContent || tempDiv.innerText || ""; } let rawTextContent =stripHtmlTags(document.getElementById('example').innerHTML); console.log(rawTextContent ); ``` 以上三种技术各有优劣,请依据具体需求场景选取最合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值