jQuery:从使用<br/>而不是子元素的单个元素中获取文本

时间:2015-04-14 13:32:10

标签: jquery string parsing

使用jQuery,我需要从看起来像这样的元素中获取“Item SKU”:

<b class="cart-item-name">
    "Item Name "<br> 
    "Item Description" <br>
    "Item SKU"<br>
</b>

元素包含的实际文本没有一致的模式,没有常规长度,重复的字母模式或类似的东西。唯一始终如一的是,有三行,按相同的顺序,除以换行符,第三行是我需要的SKU。

如何获得我需要的信息?

编辑: 为了澄清,我上面的代码段中的不同文本将被特定于项目的文本字符串替换,例如它可能是:

<b class="cart-item-name">
    "Cool Product 123"<br> 
    "It's cool!" <br>
    "I123-abc"<br>
</b>

或者也许:

<b class="cart-item-name">
    "Dumb product"<br> 
    "It's stupid!" <br>
    "abc-456"<br>
</b>

我只需要获得第三行文本,无论它是什么。

2 个答案:

答案 0 :(得分:0)

您可以使用 split() html() ,并尝试以下内容

&#13;
&#13;
alert($('b.art-item-name').html().split('<br>')[2]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<b class="cart-item-name">
    "Item Name "<br> 
    "Item Description" <br>
    "Item SKU"<br>
</b>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您的意思是您只想检查“商品SKU”是否存在?

  if($('.cart-tem-name').text().IndexOf("Item SKU") >= 0){
       //do stuff
  }