[英]Hide first radio and label with jQuery
我有一组从外部服务器生成的单选选项。 我需要隐藏所有带有标签“无”的收音机和标签。
HTML的外观如下:
<div class="productAttributeList top-emx" style="">
<div class="productAttributeRow productAttributeConfigurablePickListSet">
<div class="productAttributeLabel">
<label for="be91177516ac23bfe33ba180741486ee">
<span class="name">Delivery Options:</span>
</label>
</div>
<div class="productAttributeValue">
<div class="productOptionViewRadio">
<ul>
<li>
<label>
<input type="radio" class="validation" name="attribute[139]"
value="" checked="checked" />
<span class="name">(None)</span>
</label>
</li>
<li>
<label>
<input type="radio" class="validation" name="attribute[139]"
value="86" />
<span class="name">Standard Shipping</span>
</label>
</li>
<li>
<label>
<input type="radio" class="validation" name="attribute[139]"
value="89" />
<span class="name">2 Day Express Shipping</span>
</label>
</li>
<li>
<label>
<input type="radio" class="validation" name="attribute[139]"
value="90" />
<span class="name">3 Day Express Shipping</span>
</label>
</li>
</ul>
</div>
</div>
试过这个,但我想我走了,因为它什么也没做。
<script>
$('.productOptionViewRadio' li:first).hide();
</script>
非常感谢你。
如果包含(None)
标签的li
并非总是.productOptionViewRadio
列表中的第一个,则您将无法使用组合在一起的选择器将其隐藏(无论如何,忽略选择器中的轻微错字)。
您可以使用:contains()
选择器,该选择器将匹配任何或所有<label>(None)</label>
元素:
$(".productOptionViewRadio span.name:contains('(None)')").parents('li').remove();
这是一个jsFiddle演示 - 还要注意它如何删除列表后面的元素(与其他答案不同,该答案只会删除第一个li
,而不管其<span>
的内容如何)。
你很亲密 您的选择器有错误
$('.productOptionViewRadio li:first').hide();
此外,您应该将代码包装在
$( document ).ready(function() {
// Handler for .ready() called.
$('.productOptionViewRadio li:first').hide();
});
抱歉,最初看到一个未编辑的问题时,我被误解了您的要求,您可以通过任何方法选择类.name
来选择范围,然后使用its text equals to '(none)'
的条件来filter
这些集合,然后将其隐藏
$( document ).ready(function() {
$('span.name').filter(function(){
return $.trim(($(this).text()) === '(None)'
}).parents('li').hide();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.