包含jQuery的条件语句ELEMENT

时间:2013-10-26 15:35:51

标签: jquery html

我有一个像这样的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>

1 个答案:

答案 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/