-1

我有一个这样的 HTML:

<div class="product">
   <span class=itemlist><!-- Shows Results for Fish --></span>
    Category:Fish
    <br>Product: Salmon Atlantic
    <br>Specie: Salmo salar
    <br>Form: Steaks
</div>

<div class="product">
    <span class=itemlist><!-- Shows Results for Crustacean --></span>
     Category: Crustacean
     <br>Product: Shrimp Cultured Vannamei White
     <br>Specie: Penaeus vannamei
     <br>Form: PTO/PDTO     
</div>

我想要的只是提取DIV .outerHTML()SPAN .content()的等于,<!-- Shows Results for Crustacean -->因为这是我认为我可以拥有的唯一标识符。DIV和的所有类SPAN都是相似的。

jQuery 代码应该是什么?

输出应该只是:

<div class="product">
        <span class=itemlist><!-- Shows Results for Crustacean --></span>
         Category: Crustacean
         <br>Product: Shrimp Cultured Vannamei White
         <br>Specie: Penaeus vannamei
         <br>Form: PTO/PDTO
</div>
4

3 回答 3

1

如果跨度Crustacean显示了上下文,请尝试

$('.product:contains(Crustacean)')[0].outerHTML

演示:小提琴

于 2013-10-24T04:44:51.260 回答
1

尝试这个,

var pro=$('.product span:contains(Crustacean)');
console.log(pro.closest('.product')[0].outerHTML);

演示

更新 Hide了所有div.product除了有span Crustacean

var pro=$('.product span:contains(Crustacean)');
$('.product').hide();
pro.closest('.product').show();

演示 2

于 2013-10-24T04:50:25.337 回答
0
$(document).ready(function(){
   $("div.product span.itemlist").contents().each(function(){
     if (this.nodeType == 8) {
        if(this.data.contains('Shows Results for Crustacean'))
        {
            // do what ever you need here
        }
      }
  });
});
于 2013-10-24T05:29:06.933 回答