如果在页面加载时存在另一个div,如何使用jquery从页面中删除元素

时间:2014-01-24 16:30:16

标签: jquery

如果出现免费送货,我希望统一费率div在页面加载时消失。

当前HTML:

<dl class="shipment-methods">
    <dd>Free Shipping</dd>
        <dt style="margin-bottom: 5px;">

        <input name="shipping_method" type="radio" class="validate-one-required-by-name" value="freeshipping_freeshipping" id="s_method_freeshipping_freeshipping">
        <label for="s_method_freeshipping_freeshipping"><!--<b>Free Shipping:</b>--> Free                                <strong>

        <span class="price">£0.00</span>                                                                </strong>
        </label>
    </dt>
    <dd>Flat Rate</dd>
    <dt style="margin-bottom: 5px;">
        <input name="shipping_method" type="radio" class="validate-one-required-by-name" value="flatrate_flatrate" id="s_method_flatrate_flatrate">
        <label for="s_method_flatrate_flatrate"><!--<b>Flat Rate:</b>--> Fixed                                <strong>

        <span class="price">£9.95</span>                                                                </strong>
        </label>
    </dt>
</dl>

JS Fiddle

2 个答案:

答案 0 :(得分:1)

JSFIDDLE DEMO

if ($('#s_method_freeshipping_freeshipping').length) {
    var parentDt = $('#s_method_flatrate_flatrate').parent('dt');
    parentDt.hide();
    parentDt.prev('dd').hide();
};

使用id&amp;来检查是否存在freeshipping length隐藏他人。

答案 1 :(得分:0)

你可以这样做:

if($('#s_method_freeshipping_freeshipping').length) {
    $('#s_method_flatrate_flatrate').closest('dt').hide().prev().hide();
}

<强> Fiddle Demo