繁体   English   中英

隐藏第一个收音机并使用jQuery标签

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM