0

製品ページから「Quantity in Stock:(Out of Stock)」というテキスト行を削除するスクリプトが必要です。削除しようとしている特定の HTML コードは次のとおりです。

<span class="PageText_L329n"><strong class="prod_qty_label">
      Quantity in Stock
    </strong></span>
      :
    <span style="color:#cc0000;"><span class="StockQuantity_OutOfStock"></span></span><br></br>

私は Javascript について限られた知識しか持っていないので、次のようなことから始める必要があることを知っています。

document.body.innerHTML = document.body.innerHTML.replace('', '');

しかし、javascript にすべての HTML マークアップを含めて動作させるのに苦労しています。

私のカテゴリ ページ (別のページ) で、HTML からこのテキストを削除しようとしていますが、ページに複数回表示される可能性があります。

<b><font color="#CC0000">
<span class="PageText_L331n">(Out of Stock)</span>
</font></b>

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

0

この例のように?

<div>
<span class="PageText_L328n"><strong class="prod_qty_label">
      Quantity in Stock 1
    </strong></span>

</div>
<div>
<span class="PageText_L329n"><strong class="prod_qty_label">
      Quantity in Stock 2
    </strong></span>

</div>
<div>
<span class="PageText_L330n"><strong class="prod_qty_label">
      Quantity in Stock 3
    </strong></span>

</div>
<button id="button">Remove</button>

var button = document.getElementById("button");
var PageText_L329n = document.getElementsByClassName("PageText_L329n");

function remove() {
    if (PageText_L329n[0]) {
        PageText_L329n[0].parentNode.removeChild(PageText_L329n[0]);
    }
}

button.addEventListener("click", remove, false);

jsfiddle

また、DOM から削除するのではなく、非表示にするだけで十分かもしれません。

そして、テキストをクリアするために

<b><font color="#CC0000">
<span class="PageText_L331n">(Out of Stock)</span>
</font></b>

<button id="clear">Clear</button>

var button = document.getElementById("clear");

function clearText() {
    document.getElementsByClassName("PageText_L331n")[0].textContent = "";
}

button.addEventListener("click", clearText, false);

jsfiddle

于 2013-04-22T18:59:06.550 に答える