如果元素与另一个元素具有相同值,则删除元素

时间:2014-09-17 11:46:14

标签: javascript jquery

我正在寻找一个关于隐藏div的解决方案,如果它的跨度与另一个跨度具有相同的值。

例如,从下面的代码中,我想隐藏div.priceWithoutTax,以防div.priceWithoutTax span与div.salesPrice span具有相同的值

<div class="PriceBox" id="productPrice">
    <div class="ProdPriceBoxRedInner">
        <div class="salesPrice" style="display : block;">
            <span class="salesPrice">20,00 €</span>
        </div>
        <div class="PriceAdditional" style="top: 0px; display: none;">
            <div class="priceWithoutTax" style="display : block;">
                <span class="priceWithoutTax">20,00 €</span>
            </div>
        </div>
    </div>
</div>

提前致谢。

2 个答案:

答案 0 :(得分:2)

只需比较文本值,然后隐藏

var boxes = document.querySelectorAll('.PriceBox');

for (var i = boxes.length; i--;) {
    var wTax = boxes[i].querySelector('div.priceWithoutTax'),
        sale = boxes[i].querySelector('div.salesPrice');

    if ( wTax.textContent.trim() == sale.textContent.trim() )
        wTax.style.display = 'none';
}

FIDDLE

答案 1 :(得分:0)

通过javascript:

Html(我添加了ids):

  <span id="salesPrice" class="salesPrice">20,00 €</span>
 <span id="priceWithoutTax" class="priceWithoutTax">20,00 €</span>

的javascript:

if(document.getElementById("salesPrice").innerHTML==document.getElementById("priceWithoutTax").innerHTML){
document.getElementById("priceWithoutTax").style.display = "none";
document.getElementById("priceWithoutTax").style.visibility= "hidden";
}

我希望它适合你:)