let string = `
<div class="camera"></div>
<div class="cinema alibaba"></div>
`
我有一个像上面的字符串。
如何获取所有类名并将其放入数组中?
预期结果: [相机,电影院,阿里巴巴] 。
答案 0 :(得分:4)
您可以使用正则表达式来做到这一点:
let string = `
<div class="camera"></div>
<div class="cinema alibaba"></div>
`
let pattern = /.+?class="(.+?)".+?/g
var match = pattern.exec(string);
var arr = []
while (match != null) {
match[1].split(" ").forEach(x => arr.push(x));
match = pattern.exec(string)
}
console.log(arr);
答案 1 :(得分:2)
不是最佳解决方案,但是您可以将HTML字符串附加到临时元素,然后选择所有元素以获取类名
let str = `
<div class="camera"></div>
<div class="cinema alibaba"></div>
`
let temp = document.createElement('div')
temp.style.display = 'none';
temp.innerHTML = str;
items = temp.querySelectorAll('*')
let classes = [];
items.forEach(item => {
classes = classes.concat(item.className.split(" "))
});
console.log(classes);