0

我有一个这样的示例 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()内容并输出DIV项目列表中包含“Shoes”的内容

var pro=$('.item .itemlist:contains(Shoes)');
output = pro.closest('.item')[0].outerHTML
$('body').empty();
$('<div>').attr("id","result").appendTo('body');
$("#result").html(output);

我想要的是创建一个条件语句来检查SPANitemlist:contains鞋。如果不满足要求,则正文将被清空,并且#result div将给出类似“未找到记录”的输出。否则,正文将被清空并输出符合条件的记录

如果.itemlist contains:Shoes 存在,那么输出将是这样的:

<div class="item">
        <span class=itemlist>Shoes</span>
         <br>Zara
         <br>Adidas
         <br>Nike    
</div>
4

1 回答 1

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/

于 2013-10-26T16:16:30.743 回答