2016-08-22 110 views
4

如果特定文本在跨度中顯示,則試圖隱藏div。我使用jQuery,這是代碼:如果在跨度中顯示特定文本,則隱藏div

HTML

<div class=「deliveryUpsellText」> 
<p>blabla</p> 
</div> 


<ul> 
    <li class=「error-msg」> 
    <ul> 
    <li> 
    <span> Coupon Code 「blabla」 is not valid 
    </span> 
    </li> 
    </ul> 
    </li> 
</ul> 


<button type="button" id="cartCoupon" title="Apply Coupon" class="button applycouponhide" onclick="discountForm.submit(false) ; " value="Apply Coupon"><span style="background:none;"><span style="background:none;">Apply</span></span></button> 

jQuery的

$j('#cartCoupon').click(function(){ 
if($j(".error-msg span:contains('blabla')")){ 
    $j('.deliveryUpsellText').css({"display":"none"}); 
} 

}); 

它隱藏在點擊的股利,但卻忽略了if語句。所以即使跨度文本是「貓」,它仍然隱藏了div。任何人都可以發現我做錯了什麼嗎? 也作爲#cartCoupon按鈕有onclick事件dicountForm.submit(false); deliveryUpsellText在點擊時被隱藏,但它沒有綁定到表單提交,所以它一旦表單提交後再次顯示。任何人都知道我可以解決這個問題嗎?

回答

1

jQuery集合總是很真實(因爲它是一個對象)。你需要檢查它是否包含節點(選定的東西)。使用length屬性是:

if ($j(".error-msg span:contains('blabla')").length) { 
    $j('.deliveryUpsellText').css({ 
     "display": "none" 
    }); 
} 
+0

或'附加$ J( 'deliveryUpsellText。')切換(附加$ J(! 「錯誤味精跨度:包含( '布拉布拉')」)。長度)' – Rayon

+0

由於另一個原因,對我來說不太合適,但我會接受它作爲答案,因爲通常它會像這樣工作 – MariaL

0

請試試這個

$(document).ready(function() { 
    $("#cartCoupon").click(function() { 
     var errMsg = $(".error-msg ul li span").text(); 
     if (errMsg.search("blabla") >= 0) { 
      $(".deliveryUpsellText").hide(); 
     } 
    }); 

}); 
0

我想你要找的這個查詢。它是爲我工作

$(function(){ 
 
\t 
 
\t $('#cartCoupon').on('click', function(){ 
 
\t \t $('.error-msg').find('span').each(function(){ 
 
\t \t \t var text = $(this).text(); 
 
\t \t \t if(text.indexOf('blabla') >=0){ 
 
\t \t \t \t $(this).hide(); 
 
\t \t \t } 
 
\t \t }); 
 
\t }) 
 
});
<ul> 
 
    <li class="error-msg"> 
 
    <ul> 
 
    <li> 
 
    <span> Coupon Code 「blabla」 is not valid </span><br> 
 
    <span> Coupon Code is not valid </span><br> 
 
    <span> Coupon Code is not valid </span> 
 
    </li> 
 
    </ul> 
 
    </li> 
 
</ul> 
 
<button type="button" id="cartCoupon" title="Apply Coupon" class="button applycouponhide" value="Apply Coupon"><span style="background:none;"><span style="background:none;">Apply</span></span></button>