2

同じコンテンツを持つ 2 つの異なる div (両方とも動的に生成) があります。

コード TPL:

{foreach from=$rozopt item=r}
<div id="optionsy{$r.optionid}">
{foreach from=$options item=q}
    <option id="{$q.optionid}" value="{$q.optionid}">
        {$q.option_name|escape}
    </option>
{/foreach}
</div>
{/foreach}

結果:

<div id="optionsy29216">
    <option id="29218" value="29218">
        wysyłamy w 24 godziny
    </option>
    <option id="31848" value="31848">
        1-3 dni
    </option>
</div>
<div id="optionsy29217">
    <option id="29218" value="29218">
        wysyłamy w 24 godziny
    </option>
    <option id="31848" value="31848">
        1-3 dni
    </option>
</div>

ご覧のとおり、IDは異なりますが内容は同じ2つのdivがあります。今、私は1つのオプションを削除したいと思っています<option id="29218" value="29218">.1つの現在ロードされているdivからだけです。このコードは x-cart からのもので、在庫切れのバリエーションを非表示にしたいです。/最大アベイルズは 0 /

JS コード:

if (hasOwnProperty(variants[x][1], c)){
        var max_avail = variants[variantid][0][1];
        var sku = variants[variantid][0][5];
        globalSku = sku;
        rozkol = document.getElementsByClassName('rozkol')[0].id;
        id = getPOValue(c); //option id/value
        rozkolv = getPOValue1(rozkol);
         if((max_avail == 0)){  
            element = document.getElementById(id);
            element.parentNode.removeChild(element);
         }
    }

このコードを使用すると、両方の div からオプションを削除できます。

4

1 に答える 1

0

JQueryを使用する場合。このコード行で目標を達成できます

$({parentdivid}).find({optionid}).remove(); 

div id = optionsy29217; オプション ID = 29218

$('#optionsy29217').find('#29218').remove(); 
于 2012-11-19T09:23:40.867 に答える