gpt4 book ai didi

Javascript:用 HTML 标签从字符串中分割 block ?

转载 作者:行者123 更新时间:2023-12-02 14:47:48 24 4
gpt4 key购买 nike

我试图从带有 HTML 标签的字符串中分割出一个字符串 block 。我的输入是

var data = '<html>
<body>

<div class="test">
<input type="text"/>
</div>

<div class="test">
<input type="text"/>
</div>

<div class="test2">
<input type="text"/>
</div>

</body>
</html>'

我的异常(exception)输出是

  '<div class="test">
<input type="text"/>
</div>

<div class="test">
<input type="text"/>
</div>'

我试过了

data.split('<div class="test">');

最佳答案

创建一个虚拟 div 元素。 innerHTML div 中的data。您可以使用 getElementsByClassName

div 中选择类元素

var data = '<html>\
<body>\
<div class="test">\
<input type="text"/>\
</div>\
<div class="test">\
<input type="text"/>\
</div>\
<div class="test2">\
<input type="text"/>\
</div>\
</body>\
</html>'
var div = document.createElement('div');
div.innerHTML = data;
var classes = div.getElementsByClassName('test');
console.log(classes);
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>

编辑:如果您希望它作为字符串,您可以迭代由getElementsByClassName返回的collection,push它在 arrayArray#join 中。

var data = '<html>\
<body>\
<div class="test">\
<input type="text"/>\
</div>\
<div class="test">\
<input type="text"/>\
</div>\
<div class="test2">\
<input type="text"/>\
</div>\
</body>\
</html>';
var div = document.createElement('div');
div.innerHTML = data;
var classes = div.getElementsByClassName('test');
var arr = [];
[].forEach.call(classes, function(elem) {
arr.push(elem.outerHTML);
});
console.log(arr.join(''));
console.log('==============OR===============');
var div2 = document.createElement('div');
[].forEach.call(classes, function(elem) {
div2.appendChild(elem.cloneNode(true));
});
console.log(div2.innerHTML);
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>

关于Javascript:用 HTML 标签从字符串中分割 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com