如何获取字符串中 HTML 元素(HTML 标签)的数量?
例如我有这个字符串:
<div> some text
<div>
<label>some text</label>
</div>
</div>
现在我如何在这个字符串中找到 html 标签的数量?上述情况的结果将是 3。
我确实试过这个,认为它会工作,但它没有:
$('*').length;
如何获取字符串中 HTML 元素(HTML 标签)的数量?
例如我有这个字符串:
<div> some text
<div>
<label>some text</label>
</div>
</div>
现在我如何在这个字符串中找到 html 标签的数量?上述情况的结果将是 3。
我确实试过这个,认为它会工作,但它没有:
$('*').length;
var s = "<div> some text<div><label>some text</label></div></div>";
var length = $(s).find('*').andSelf().length;
如果您使用的是 jQuery(并且看起来确实如此),最简单的方法是使用类似于以下的代码:
var count = $( yourString ).find('*').andSelf().length
但是,如果您使用的是 vanilla javascript,则实现看起来更像这样:
var temp = document.createElement('div');
temp.innerHTML = yourString;
var count = temp.getElementsByTagName('*').length;
您可以使用 jQuery: $("html *") 它将返回 html 标签之间的所有元素
你可以这样做,
把绳子放在一些隐藏div
的地方
$('#myHiddenDiv').html(string);
然后
你可以在它下面生成几个孩子
这将告诉您正文下的 html 元素数量
var count = $("#myHiddenDiv> *").length;
或者:
var count = $("#myHiddenDiv").children().length;
你的 div 会是这样的
<div id="myHiddenDiv" style="display:none"></div>
一个小的,自我记录的例子:)
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>List Elements</title>
</head>
<body>
<div>some text
<div>
<label>some text</label>
</div>
</div>
<script>
var x=document.getElementsByTagName('*');
console.log(x.length)
for (i=0;i<x.length;i++) {
console.log(x[i]);
}
</script>
</body>
</html>