Mar*_*iaL 5 html javascript jquery
如果特定文本显示在跨度中,我试图隐藏 aa div。我正在使用 jquery,这是代码:
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>
Run Code Online (Sandbox Code Playgroud)
jQuery
$j('#cartCoupon').click(function(){
if($j(".error-msg span:contains('blabla')")){
$j('.deliveryUpsellText').css({"display":"none"});
}
});
Run Code Online (Sandbox Code Playgroud)
它在单击时隐藏 div,但它会忽略 if 语句。因此,即使跨度中的文本是“猫”,它仍会隐藏 div。谁能发现我做错了什么?此外,由于#cartCoupon按钮具有 onclick 事件dicountForm.submit(false);,deliveryUpsellText 在单击时被隐藏,但它未绑定到表单提交,因此一旦提交表单,它就会再次显示。有人知道我该如何解决吗?
jQuery 集合始终是真实的(因为它是一个对象)。您需要检查它是否包含节点(选定的内容)。length为此使用属性:
if ($j(".error-msg span:contains('blabla')").length) {
$j('.deliveryUpsellText').css({
"display": "none"
});
}
Run Code Online (Sandbox Code Playgroud)