JQUERY .each ---检测EACH是否找到0

时间:2010-03-08 04:12:40

标签: jquery

我有以下内容:

$("span.findme").each(function() {
  $("<li>").text($(this).text()).appendTo("ul");
});

如何使用上述方法检测EACH是否找到0,如果为0,我想触发警报。

由于

2 个答案:

答案 0 :(得分:2)

将jQuery对象保存到变量并询问length属性。

var spans = $("span.findme");
if (spans.length == 0) {
  alert("none found!");
} else {
  spans.each(function() {
    $("<li>").text($(this).text()).appendTo("ul");
  });
}

答案 1 :(得分:1)

您可以使用数字将文本转换为数字,然后将数字比较为0.例如:

$(function () {
    $("span.findme").each(function () {
        var nValue = Number($(this).text());
        if (nValue == 0) {
            alert('0 found');
        }
        $("<li>").text($(this).text()).appendTo("ul");
    });

});

因此,如果文本评估为0,则跳过它。这是一个例子:

<html>
<head>
    <title>test</title>
    <script type="text/javascript" src="jquery-1.4.2.js"></script>

    <script type="text/javascript">
        $(function () {
            $("span.findme").each(function () {
                var nValue = Number($(this).text());
            if (nValue == 0) {
                alert('0 found');
            }
            $("<li>").text($(this).text()).appendTo("ul");
            });

        });
    </script>

</head>
<body>
    <span class="findme">1</span><br />
    <span class="findme">12</span><br />
    <span class="findme">0</span><br />
    <span class="findme">Test</span><br />
    <span class="findme">0</span><br />
    <span class="findme">0</span><br />
    <span class="findme">1a</span><br />
    <span class="findme">11</span><br />
    <hr />
    <ul>
    </ul>
</body>
</html>