从文本块中获取数字

时间:2016-10-12 17:18:00

标签: javascript jquery string

我有这个HTML块:

<div class="cart">
    <a href="/4S101W.html"><b>Gray T-shirt</b></a><br>
    Size:M<br>
    Style:1722322<br>
    <div>Qty:2</div><div>Price: $14.95</div>
<div>

如何从上面的HTML块中检索样式编号,在本例中为1722322?

我在尝试

console.log(jQuery('div.cart:contains("Style")').html().split('<br>'));

但它会返回整个区块。

4 个答案:

答案 0 :(得分:1)

您可以检索相关的textNode并将其解析为数字,例如:

var num = +$('.cart').contents().filter(function(){
  return this.nodeType === 3 && this.nodeValue.indexOf('Style:') > -1
}).get(0).nodeValue.trim().replace('Style:','');

&#13;
&#13;
var num = +$('.cart').contents().filter(function() {
  return this.nodeType === 3 && this.nodeValue.indexOf('Style:') > -1
}).get(0).nodeValue.trim().replace('Style:', '');

console.log(num);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cart">
  <a href="/4S101W.html"><b>Gray T-shirt</b></a>
  <br>Size:M
  <br>Style:1722322
  <br>
  <div>Qty:2</div>
  <div>Price: $14.95</div>
  <div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这样做

if ($returnValue -eq 0 -or $returnValue -eq 5)

JSFIDDLE

答案 2 :(得分:0)

Regex怎么样?

&#13;
&#13;
tcp6       0      0 :::80                   :::*                    LISTEN 
&#13;
console.log(
  
  ($('.cart').text()).match(/(?:Style:)(\d+)/)[1]
  
 );
&#13;
&#13;
&#13;

答案 3 :(得分:0)

或者你可以尝试......

document.querySelector('div.cart').textContent.split('Style:')[1].split('\n')[0]