我在div中有一个字符串,如果数字为0,我想要定位这个div - 如果它是唯一的字符。货币符号会发生变化,因此无法使用。
一旦字符串为€1,€10等,并且不想定位它 - 只有它的0和一个数字在字符串中。
我想使用if变量或类似的东西,因为我需要追加并在匹配字符串时添加一个类。类似的东西:
if( $code to match the string )
{
$( "em.headcartsum" ).addClass( "hide" );
}
<span><em id="headercartsum">€0</em></span>
答案 0 :(得分:3)
将filter()
与正则表达式一起使用:
$('em.headercartsum').filter(function() {
return /^\D0$/.test($.trim($(this).text()));
}).hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span><em class="headercartsum">€0</em></span>
<span><em class="headercartsum">$10</em></span>
<span><em class="headercartsum">$0</em></span>
正则表达式/^\D0$/
检查字符串是否仅包含非数字字符(货币符号)后跟零。
答案 1 :(得分:0)
或者您可以使用正则表达式匹配:
if($('#headercartsum').text().match(/€0/)) {
$('em.headcartsum').addClass('hide');
}
答案 2 :(得分:0)
由于您的元素确实有 id ,因此您可以使用.toggleClass(class, condition)
案例:
$('.headercartsum').each(function() {
$(this).toggleClass('hide', $(this).text().match(/(\d)/)[0] == 0);
});
&#13;
.hide {
opacity: 0.2;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span><em class="headercartsum">€10</em></span>
<span><em class="headercartsum">€0</em></span>
<span><em class="headercartsum">€10</em></span>
&#13;
答案 3 :(得分:0)
您可以使用parseInt检查号码:
if(parseInt($("#headercartsum").text().trim()) === 0){
// Execute your code here.
}