因此,如果我有一个HTML字符串,我想知道如何从该字符串中获取属于某个类的已解析元素的数组。例如,如果我有一个包含以下HTML的字符串:
<div>
<div class="a">
<div class="b">
</div>
</div>
<div class="a">
<div class="b">
</div>
</div>
<div class="a">
<div class="c">
</div>
</div>
</div>
我如何获得所有带有“ b”类的元素的数组?我已经尝试过寻找解决方案,但是当您要查找的元素嵌套了几层时,找不到任何有效的方法。
答案 0 :(得分:2)
您可以将html放在integrate
内,它将html转换为元素,然后您可以对其进行过滤/查找。
$()
var testStringOfHtml = `
<div>
<div class="a">
<div class="b">
</div>
</div>
<div class="a">
<div class="b">
</div>
</div>
<div class="a">
<div class="c">
</div>
</div>
</div>
`;
console.log($(testStringOfHtml).find('.b').get());
答案 1 :(得分:2)
var html = '<div><div class="a"><div class="b"></div> </div><div class="a"><div class="b"></div></div><div class="a"><div class="c"></div></div></div>';
var el = document.createElement( 'html' );
el.innerHTML = html;
var selectedB = el.querySelectorAll( '.b' );
console.log(selectedB)
答案 2 :(得分:1)
听起来像您在寻找do_something
。这是MDN文档,因此您可以熟悉一下:https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
以下是如何在您的代码中使用它的示例:
document.querySelectorAll
//use querySelectorAll method
var bElements = document.querySelectorAll('.b');
//you can iterate over and see all the elements
for (var i = 0; i < bElements.length; i++) {
console.log(bElements[i]);
}