目标div,如果它的字符串包含确切的数字和确切的字符数

时间:2015-12-14 10:51:48

标签: javascript jquery

我在div中有一个字符串,如果数字为0,我想要定位这个div - 如果它是唯一的字符。货币符号会发生变化,因此无法使用。

一旦字符串为€1,€10等,并且不想定位它 - 只有它的0和一个数字在字符串中。

我想使用if变量或类似的东西,因为我需要追加并在匹配字符串时添加一个类。类似的东西:

if( $code to match the string )
{
 $( "em.headcartsum" ).addClass( "hide" );
}

<span><em id="headercartsum">€0</em></span>

4 个答案:

答案 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)案例:

&#13;
&#13;
$('.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;
&#13;
&#13;

答案 3 :(得分:0)

您可以使用parseInt检查号码:

if(parseInt($("#headercartsum").text().trim()) === 0){
 // Execute your code here.
}