我有一个包含多个列表项的页面,其中包含存储信息的div,如下所示:
<li class="item ">
<div class="name t-overflow">Symbiotic Ltd.</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span>$501.83
</div>
</li>
<li class="item ">
<div class="name t-overflow">Health Service</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span>$501.08
</div>
</li>
我需要做的是检查股票价格是否低于X.所以,例如。我需要将健康服务和股票价格结合起来:健康服务股票价格:$ 501.08
这样我就可以使用正则表达式运行服务来查找价格。对于使用相同div名称的不同股票,大约有30个div具有此信息。 (名称和价格,每一个。)
答案 0 :(得分:0)
您可以使用 each() 方法遍历所有列表项,并使用 text()查找 find() 方法,然后只需 split() 使用$
符号获取价格,然后您只需使用if
语句即可检查价格是否小于或大于您想要的任何数字:
$('.item').each(function(){
var price = $(this).find('.price').text().split('$')[1];
console.log(price);
if(price < 502){
$(this).css('background', '#f00');
}
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="item ">
<div class="name t-overflow">Health Service</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span>
$501.08
</div>
</li>
<li class="item ">
<div class="name t-overflow">Health Service</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span>
$502.08
</div>
</li>
<li class="item ">
<div class="name t-overflow">Health Service</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span>
$503.08
</div>
</li>
&#13;
答案 1 :(得分:0)
假设每个项目都包含在li(列表项)中,下面的代码将遍历每个li并将div文本放入一个可以执行正则表达式的数组中。
CompanyPrices = [];
$('li.item').each(function() {
CompanyPrices.push($(this).find('.name').text()+ " " +$(this).find('.price').text());
});
//logs final array to console..
console.log(CompanyPrices)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="item">
<div class="name t-overflow">Symbiotic Ltd.</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span> $501.83 </div>
</li>
<li class="item">
<div class="name t-overflow">Health Service</div>
<div class="price">
<span class="wai t-wai-reset">Stock Price: </span> $501.08 </div>
&#13;
systemjs.config.js
&#13;
答案 2 :(得分:0)
如果值是动态的(即来自PHP),那么您可以将它们存储在变量中。如果它们是设定值(即仅在更改代码时更改),则可以尝试此解决方案:
var stock1=document.getElementById('stock').innerHTML;
stock1=stock1.replace(/Stock price: \$([\d,.]*)/g,"$1");
document.getElementById('stock').innerHTML=stock1;
&#13;
<div id="stock">Stock price: $923.50</div>
<div id="otherstock">Stock price: $291,402.29</div>
&#13;