我在一个div循环中找到一个特定的div时遇到了问题。
我下面的代码是一个单独的项目,在一个页面上重复多次。如果带有edd_price类的span中有文本'Free',我想隐藏这个项目的div类'vat'。
<div class="product-thumb">
<a href="http://tb.eldo.co.uk/downloads/achieving-sales-on-the-telephone-sample-notes/">
<div class="thum">
<img width="185" height="150" src="blah"/>
</div>
<div class="title">Title goes here</div>
<div class="price">
<span class="edd_price">Free</span>
</div>
<div class="vat clear">
price excluding 20% vat
</div>
</a>
我所尝试的一切要么不影响页面上的所有项目,这是我认为应该工作的-
$(document).ready(function() {
if ($(".edd_price").contains("Free")) {
$(this).parent().next('div.vat').hide();
}
});
3条答案
按热度按时间0g0grzrc1#
首先你的条件不起作用,contains方法应该是这样的:
看看这里:http://www.w3schools.com/jquery/sel_contains.asp
在这种情况下,你必须再次得到元素,因为你的这个不是他。这不是回调。然后:
下面是演示:https://jsfiddle.net/87qcfng8/
Ps:你的第一个div没有关闭,所以关闭它。
qncylg1j2#
条件是:
在里面使用这个:
olhwl3o23#
你需要获取“Free”容器的父节点(使用
:contains("Free")
选择器检索),并使用类.vat
隐藏下一个元素:下面是一个demo: