如何获取html字符串中的特定元素?

时间:2018-07-02 18:54:00

标签: javascript jquery html dom

因此,如果我有一个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”类的元素的数组?我已经尝试过寻找解决方案,但是当您要查找的元素嵌套了几层时,找不到任何有效的方法。

3 个答案:

答案 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]);
}

相关问题