作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想基本上这样做:
鉴于我们的 DOM 看起来像这样:
<div class="foo bar">
<ul class="a b c">
<li class="even">
<span id="span1">Hello</span>
</li>
<li>
<span id="span2">World</span>
</li>
<li class="even">
<span id="span3">!!!</span>
</li>
</ul>
</div>
我怎么说它是否匹配这个模式?
<ul class="a c">
<li class="even">
</li>
</ul>
或者它匹配这个模式:
<ul class="b">
<li>
<span>Hello</span>
</li>
</ul>
像这样:
matches(el, <ul class="b"><li><span></span></li></ul>)
一些注意事项:
最佳答案
只是无法告诉您如何将 span 与内部文本相匹配。除此之外,所有其他元素都可以使用 javascript 中的 css 选择器进行检查,如下所示:
if (document.querySelector("ul.a.c > li.even"))
console.log("Patern 1 found")
if (document.querySelector("ul.b > li > span"))
console.log("Patern 2 found")
if (document.querySelector("ul.a.c > li.odd"))
console.log("Patern 3 found")
<div class="foo bar">
<ul class="a b c">
<li class="even">
<span id="span1">Hello</span>
</li>
<li>
<span id="span2">World</span>
</li>
<li class="even">
<span id="span3">!!!</span>
</li>
</ul>
</div>
关于javascript - 如何在纯 JavaScript 中找到匹配的 HTML 节点子树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57011630/
我是一名优秀的程序员,十分优秀!