javascript - 判断一个节点是否包含ap标签的简单方法
问题描述
我正在尝试确定 div 是否包含特定节点(在本例中为 p 节点)。我不知道为什么,但我的简单 JS 不起作用。
有人可以解释为什么这不起作用吗?
代码笔: https ://codepen.io/ns91/pen/OJJxZRb
let test = document.querySelector('div');
if (test.contains('P')) {
console.log('has a p');
} else {
console.log('has no ps');
}
<div>
<h1>header</h1>
<p>para</p>
<p>para</p>
<span>span</span>
<p>para</p>
</div>
解决方案
如评论使用
test.querySelector('p')
test.contains('P')
是
let test = document.querySelector('div');
const pTag = test.querySelector('p');
if (pTag !== null) {
console.log('has a p');
} else {
console.log('has no ps');
}
<div>
<h1>header</h1>
<p>para</p>
<p>para</p>
<span>span</span>
<p>para</p>
</div>
如果你想使用Node.contains,请参考文档。它期望参数为节点而不是字符串
let test = document.querySelector('div');
const p = document.querySelector('.pTag')
if (test.contains( p )) {
console.log('has a p');
} else {
console.log('has no ps');
}
<div>
<h1>header</h1>
<p>para</p>
<p class='pTag'>para</p>
<span>span</span>
<p>para</p>
</div>
推荐阅读
- javascript - 如何存根 new Worker()
- python - 带注释字段的过滤器集查找
- python - 在函数内停止程序(python)
- ruby-on-rails - ruby on rails 心理测量应用程序
- c# - Rabbitmq RPC - amq.gen 太多
- git - 是否可以将多个本地文件夹连接到 Github 中的一个存储库?
- json - Angular6 Div 围绕来自同一用户的数组
- javascript - 单击其中的下拉菜单消失
- consul - spring cloud consul config app使用哪些端口与consul通信?
- regex - 正则表达式 - 提取字符串