我有这个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>'));
但它会返回整个区块。
答案 0 :(得分:1)
您可以检索相关的textNode并将其解析为数字,例如:
var num = +$('.cart').contents().filter(function(){
return this.nodeType === 3 && this.nodeValue.indexOf('Style:') > -1
}).get(0).nodeValue.trim().replace('Style:','');
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;
答案 1 :(得分:1)
答案 2 :(得分:0)
Regex怎么样?
tcp6 0 0 :::80 :::* LISTEN
&#13;
console.log(
($('.cart').text()).match(/(?:Style:)(\d+)/)[1]
);
&#13;
答案 3 :(得分:0)
或者你可以尝试......
document.querySelector('div.cart').textContent.split('Style:')[1].split('\n')[0]