计算存储在jquery变量中的span的个数

Counting number of span stored inside variable in jquery

本文关键字:span 变量 存储 jquery 计算      更新时间:2023-09-26

基本上是在计算存储在items变量中的span的个数但是length总是返回0

var items = '<br><span class="holiday">Buddha Jayanti</span><br><span class="workingDay">Shiva Ratri</span>';
var length = $(items).find('span').length;
alert(length); //returning 0

我在这里错过了什么吗?

因为span在元素集的根,所以.find()不会返回任何元素,您需要使用.filter()来代替

var items = '<br><span class="holiday">Buddha Jayanti</span><br><span class="workingDay">Shiva Ratri</span>';
var length = $(items).filter('span').length;
snippet.log(length);
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


如果有后代span元素的可能性,另一个选项是

var items = '<br><span class="holiday">Buddha Jayanti</span><br><span class="workingDay">Shiva Ratri</span><div><br><span class="workingDay">some value</span></div>';
var length = $('<div />', {
  html: items
}).find('span').length;
snippet.log(length);
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>