我有一个像这样的HTML示例:
<div class="item">
<span class=itemlist>Soap</span>
<br>Zest
<br>Safeguard
<br>Perla
</div>
<div class="item">
<span class=itemlist>Detergents</span>
<br>Tide
<br>Surf
<br>Ariel
</div>
这是我的jQuery代码,.empty()
正文内容并输出项目列表中包含“Shoes”的DIV
内容
var pro=$('.item .itemlist:contains(Shoes)');
output = pro.closest('.item')[0].outerHTML
$('body').empty();
$('<div>').attr("id","result").appendTo('body');
$("#result").html(output);
我想要的是创建一个条件语句来检查SPAN
项目列表:contains
鞋子。如果不满足要求,则将清空正文,#result div
将给出“未找到记录”的输出。否则,身体将被清空,它将输出与其标准匹配的记录
如果存在.itemlist
contains:
个鞋子,则输出将如下:
<div class="item">
<span class=itemlist>Shoes</span>
<br>Zara
<br>Adidas
<br>Nike
</div>
答案 0 :(得分:1)
您可以检查length
函数的结果的$()
属性,以查看选择器是否返回了任何元素,因为$()
返回0或更多jQuery的数组项目。这可以解决您的问题:
var pro=$('.item .itemlist:contains(Shoes)');
if(pro.length > 0)
{
output = pro.closest('.item')[0].outerHTML
$('body').empty();
$('<div>').attr("id","result").appendTo('body');
$("#result").html(output);
}
else
{
$('body').html("<div>No records found</div>");
}
看一个小提琴:http://jsfiddle.net/sJ5WV/1/