2015-12-14 28 views
0

我有一個div內的字符串,如果數字爲0,並且我想定位該div,並且它是唯一的字符。貨幣符號發生變化,所以我無法使用它。目標div如果是字符串包含確切數量和確切數量的字符

只要字符串€1€10等,並且不希望它的目標 - 只有當它的0和一個號碼的字符串中。

我想用一個IF可變或類似的,因爲我需要追加和添加一個類時,該字符串匹配的東西。喜歡的東西:

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

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

你的元素沒有一個類名,按您的選擇。 – Jai

回答

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$/檢查是否字符串只包含非數字字符(貨幣符號)。

+0

這沒有用 - 沒有任何事情發生。 – Xeptor

+0

@Xeptor查看演示,我已經將id更改爲class,因爲將會有多個元素 – Tushar

+0

hmm似乎很適合工作,但不適用。不知道爲什麼..。 – Xeptor

0

或者你可以使用正則表達式匹配:

if($('#headercartsum').text().match(/€0/)) { 
    $('em.headcartsum').addClass('hide'); 
} 
+0

_ 「貨幣符號的變化,所以我不能使用它。」 _ – Tushar

0

當你的元素確實有一個ID那麼你可以使用.toggleClass(class, condition)情況:

$('.headercartsum').each(function() { 
 
    $(this).toggleClass('hide', $(this).text().match(/(\d)/)[0] == 0); 
 
});
.hide { 
 
    opacity: 0.2; 
 
}
<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>

+0

看看你是否喜歡這個'$( 'headercartsum')。toggleClass(函數(){ 收益$(本)的.text()。比賽(/(\ d +)$ /)[0] == 0?'hide':''; });' – Tushar

0

您可以檢查與parseInt函數的數量是這樣的:

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