统计HTML标签中以b开头的标签数量
// 实现方式一:
const tags = document.getElementsByTagName('*')
// 要使用数组的方法必须将类数组转为真正的数组
const value = [...tags].filter(item => item.tagName.startsWith('B'))
// 实现方式二:
const $prefixBElements = []
function getElementNum($el) {
if ($el.tagName.startsWith('B')) {
$prefixBElements.push($el)
}
for (const $child of $el.children) {
getElementNum($child)
}
}
getElementNum(document.documentElement);
统计HTML标签中出现次数最多的标签
const tags = document.getElementsByTagName('*');
let map = new Map();
let maxStr = '';
let max = 0;
// 只是使用下标来获取,没有使用数组的方法,所以不需要将类数组转为数组
for(let i = 0; i < tags.length; i++) {
let value = map.get(tags[i].tagName)
if(value) {
map.set(tags[i].tagName, ++value)
} else {
map.set(tags[i].tagName, 1);
}
if(value > max) {
maxStr = tags[i].tagName;
max = value;
}
}
console.log(`当前最多的标签为 ${maxStr},个数为 ${max}` );
判断DOM标签的合法性
如标签的闭合、span里面不能有div、其他符合HTML标签合法性的规则等
可参考