0

下から「数量」という単語を削除しようとしていますが、近いと思いますが、機能していないため、明らかに何かがおかしいです.

<div class="DetailRow" style="display: ;">
    <div class="Label">
        <label>Quantity</label>

と:

<script type="text/javascript">
$(document).ready(function(){
    $('#text_qty_').parent().parent().remove();
    $('#qty_').parent().parent().remove();
    $('.QuantityInput').remove();
    $('label[for="Quantity"]').css('display', 'none').remove();
});
</script>
4

8 に答える 8

1

IDを追加した後、純粋なjsで試してみてください。

<div class="DetailRow" style="display: ;">
<div class="Label">
<label id ="text">Quantity</label>

<script type="text/javascript">
$(document).ready(function(){
    document.getElementById("text").innerHTML = "";
});
</script>
于 2015-10-23T00:30:19.163 に答える
0

ラベル要素自体を削除したい場合は、これを試してください:

 var labels = $('label');
 if( labels.text() == 'Quantity' ){
      labels.remove();
}

label 要素を削除せずに Quantity という単語を削除するには:

labels.text('');

親を削除する場合:

labels.parent().remove();

また、親の親を削除するには、<div class="DetailRow">これを使用します:

labels.parent().parent().remove();

JSFiddle

于 2015-10-23T00:36:25.640 に答える
0

$('label[for="Quantity"]')<label>Quantity</label>属性がないため取得されませんfor$('label')またはを使用するだけ$('.Label label')で機能します。

于 2015-10-23T00:30:13.437 に答える
0

ラベルには ID が必要です。この例では、「数量」を ID として使用します。

$('label[id="quantity"]').hide();

これは機能しますが、スタイルがすべてのラベルに適用されます。

$('label')

ただし、純粋な JavaScript を使用するのが最善です。

于 2015-10-23T00:31:11.987 に答える
0

これを試してください$('label').html('');

于 2015-10-23T00:32:47.233 に答える
0

プレーンな JavaScript と既存のマークアップをquerySelectorで使用できます。

var el = document.querySelector('.DetailRow .Label label');
if (el) {
  // do stuff
}

コンテンツを削除する場合は、次のようにします。

el.textContent = '';

要素を削除する場合は、次のようにします。

el.parentNode.removeChild(el);

など…</p>

于 2015-10-23T00:42:59.337 に答える
0

ありがとうグリフィス!これは完璧に機能しました。bigcommerce の一部の製品のみから数量数量ボックスを削除しようとしている人のための完全なコード。別の製品テンプレートを作成し、これを %%Panel.Header%% の下に追加する必要があることに注意してください

<script type="text/javascript">
$(document).ready(function(){
$('#text_qty_').parent().parent().remove();
$('#qty_').parent().parent().remove();
$('.QuantityInput').remove();
$('label').filter(function() { return $(this).text() === "Quantity"; }).remove();
});
</script>

#text_qty_ などの値は、テンプレートによって異なる場合があることにも注意してください。

私を助けるために時間を割いてくれてありがとう!

于 2015-10-23T04:10:23.080 に答える
0

ラベルの値を確認して、値が「数量」に等しい場合はラベルを削除できると思います

これを試して:

<div class="DetailRow">
    <div class="Label">
        <label>Quantity</label>
    </div>
</div>

そしてスクリプト:

$(document).ready(function(){
    $(".DetailRow label:contains('Quantity')").hide();
});

http://codepen.io/Himechi90/pen/rOJYjX

于 2015-10-23T03:28:52.407 に答える