我有以下内容:
$("span.findme").each(function() {
$("<li>").text($(this).text()).appendTo("ul");
});
如何使用上述方法检测EACH是否找到0,如果为0,我想触发警报。
由于
答案 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>