如何在字符串中获取HTML元素(HTML标记)的数量?
例如我有这个字符串:
<div> some text
<div>
<label>some text</label>
</div>
</div>
现在我如何在这个字符串中找到html标签的数量?上述案例的结果将是3。
我确实试过这个,认为它会起作用,但它没有:
$('*').length;
答案 0 :(得分:2)
var s = "<div> some text<div><label>some text</label></div></div>";
var length = $(s).find('*').andSelf().length;
答案 1 :(得分:1)
你可以使用jQuery:$(“html *”),它将返回html标签之间的所有元素
答案 2 :(得分:1)
如果你正在使用jQuery(它看起来像你),最简单的方法是使用类似于以下的代码:
var count = $( yourString ).find('*').andSelf().length
但是,如果你使用的是vanilla javascript,实现看起来会更像这样:
var temp = document.createElement('div');
temp.innerHTML = yourString;
var count = temp.getElementsByTagName('*').length;
答案 3 :(得分:0)
可能的方法:http://api.jquery.com/length/
结帐Find number of element in string with jQuery
例如
$('。myClass',myData)。length;
(虽然这可能不会显示最外面的标签)
答案 4 :(得分:0)
你可以这样做,
将字符串放入某些隐藏的div
中
$('#myHiddenDiv').html(string);
然后
你可以根据它生成孩子的数量
这将告诉你身体下的html元素数量
var count = $("#myHiddenDiv> *").length;
或:
var count = $("#myHiddenDiv").children().length;
你的div会是这样的
<div id="myHiddenDiv" style="display:none"></div>
答案 5 :(得分:0)
一个小的,自我记录的例子:)
<!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>