Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏div包含某个文本,然后隐藏另一个div选项_Javascript_Jquery_Html - Fatal编程技术网

Javascript 隐藏div包含某个文本,然后隐藏另一个div选项

Javascript 隐藏div包含某个文本,然后隐藏另一个div选项,javascript,jquery,html,Javascript,Jquery,Html,我正试图找出如何隐藏配送选项,以便客户无法看到和选择其中一个快递选项是否包含“courier Rural”字样 总结 如果存在CourierDIV,则隐藏CourierDIV(包括shippingprice)选项 范例 <div class="shippingmethodlist"> <div class="shippingmethod" id="trShippingMethod_1"> <span id="tdShippingTitle_

我正试图找出如何隐藏配送选项,以便客户无法看到和选择其中一个快递选项是否包含“courier Rural”字样

总结

如果存在CourierDIV,则隐藏CourierDIV(包括shippingprice)选项

范例

<div class="shippingmethodlist">
     <div class="shippingmethod" id="trShippingMethod_1">
        <span id="tdShippingTitle_1" class="shippingmethodname">
          <label class="shippingmethod-label" >Courier</label>
        </span>
        <span class="shippingprice">
          <span id="tdShippingPrice_1">$0.00</span>
        </span>
     </div>
     <div class="shippingmethod" id="trShippingMethod_2">
        <span id="tdShippingTitle_2" class="shippingmethodname">
          <label class="shippingmethod-label" >Pick up in store</label>
        </span>
        <span class="shippingprice">
          <span id="tdShippingPrice_1">$0.00</span>
        </span>
     </div>
     <div class="shippingmethod" id="trShippingMethod_3">
        <span id="tdShippingTitle_3" class="shippingmethodname">
          <label class="shippingmethod-label" >Courier Rural</label>
        </span
        <span class="shippingprice">
          <span id="tdShippingPrice_1">$0.00</span>
        </span>
     </div>
</div>


jq(function () {
 if (jq(".shippingmethod-label").text() == "Courier Rural") {
     jq(".shippingmethod-label").text() == "Courier").hide();
 }
});

信使
$0.00
在商店提货
$0.00
信使乡村

这是数据属性的一个很好的用例。向每个div添加一个如下所示的属性:

<div class="shippingmethod" data-purpose="something"></div>

<div class="shippingmethod" data-purpose="somethingelse"></div>
var hideMe;
var shouldHide = false;

$(".shippingmethod-label").each(function() {
  var el = $(this);
  if (el.text() === "Courier") {
    hideMe = el;
  } else if (el.text() === "Courier Rural") {
    shouldHide = true;
  }
});

if (hideMe && shouldHide) {
  hideMe.hide(); // or hideMe.parent().hide(); based on your needs
}
编辑(基于OP的评论)

如果无法更改html模板,并且必须在div中查找元素,则可以使用该函数

jq(function () {
    jq('.shippingmethod[data-purpose="something"]').hide();
});
jq(function () {
    var courierOption, hideIt;
    jq('.shippingmethod-label').each(function(index, element) {
        if (element.text() === 'Courier Rural') {
            hideIt = true;
        } else if (element.text() === 'Courier') {
            courierOption = element.parent();
        }
    });

    if (hideIt) {
        courierOption.hide();
    }
});

这是数据属性的一个很好的用例。向每个div添加一个如下所示的属性:

<div class="shippingmethod" data-purpose="something"></div>

<div class="shippingmethod" data-purpose="somethingelse"></div>
var hideMe;
var shouldHide = false;

$(".shippingmethod-label").each(function() {
  var el = $(this);
  if (el.text() === "Courier") {
    hideMe = el;
  } else if (el.text() === "Courier Rural") {
    shouldHide = true;
  }
});

if (hideMe && shouldHide) {
  hideMe.hide(); // or hideMe.parent().hide(); based on your needs
}
编辑(基于OP的评论)

如果无法更改html模板,并且必须在div中查找元素,则可以使用该函数

jq(function () {
    jq('.shippingmethod[data-purpose="something"]').hide();
});
jq(function () {
    var courierOption, hideIt;
    jq('.shippingmethod-label').each(function(index, element) {
        if (element.text() === 'Courier Rural') {
            hideIt = true;
        } else if (element.text() === 'Courier') {
            courierOption = element.parent();
        }
    });

    if (hideIt) {
        courierOption.hide();
    }
});

据我所知,如果存在“Courier Rural”选项,您希望隐藏不同的配送选项(比如“Courier”)

这是可能的。你可以这样做:

<div class="shippingmethod" data-purpose="something"></div>

<div class="shippingmethod" data-purpose="somethingelse"></div>
var hideMe;
var shouldHide = false;

$(".shippingmethod-label").each(function() {
  var el = $(this);
  if (el.text() === "Courier") {
    hideMe = el;
  } else if (el.text() === "Courier Rural") {
    shouldHide = true;
  }
});

if (hideMe && shouldHide) {
  hideMe.hide(); // or hideMe.parent().hide(); based on your needs
}

但是,如果这是一个真实的站点,而不仅仅是一个思想实验,那么应该在您的后端处理。

据我所知,如果存在“Courier Rural”选项,您希望隐藏一个不同的配送选项(比如“Courier”)

这是可能的。你可以这样做:

<div class="shippingmethod" data-purpose="something"></div>

<div class="shippingmethod" data-purpose="somethingelse"></div>
var hideMe;
var shouldHide = false;

$(".shippingmethod-label").each(function() {
  var el = $(this);
  if (el.text() === "Courier") {
    hideMe = el;
  } else if (el.text() === "Courier Rural") {
    shouldHide = true;
  }
});

if (hideMe && shouldHide) {
  hideMe.hide(); // or hideMe.parent().hide(); based on your needs
}
但是,如果这是一个真实的站点,而不仅仅是一个思维实验,那么应该在后端处理。

如果有“Courier Rural”标签,则使用
.shippingmethod标签
类迭代元素,如果文本等于“Courier”,则隐藏其父项

如果有“Courier”标签,则使用
.shippingmethod标签
类迭代元素,如果文本等于“Courier”,则隐藏其父元素


不确定需要隐藏哪个div,但请尝试

if ($('.shippingmethod-label:contains("Courier Rural")')) {
    $('.shippingmethodlist').find('.shippingmethod-label:contains("Courier")').hide();
}

不确定要隐藏哪个div,但请尝试

if ($('.shippingmethod-label:contains("Courier Rural")')) {
    $('.shippingmethodlist').find('.shippingmethod-label:contains("Courier")').hide();
}


你能解释一下应该隐藏什么元素吗?潜水艇?标签?.Hi@RokoC.Buljan yes想要隐藏div eg Courier看到下面的答案,我相信这就是您正在寻找的,并且已经验证了它的有效性。您能解释一下应该隐藏什么元素吗?潜水艇?标签?.Hi@RokoC.Buljan yes会想隐藏div eg Courier看到下面我的答案,我相信这就是你要寻找的,并且已经验证了它的有效性。因为它是一个模板系统,我无法进入html文件并进行调整,因此必须使用jquery@Jc0807请查看我最新的工作解决方案编辑。因为它是一个模板系统,我无法进入html文件并进行调整,因此必须使用jquery@Jc0807请查看我的最新编辑以获得有效的解决方案。谢谢,但我只想在以下情况下隐藏“Courier”选项显示了“Courier Rural”。哦,我更新了答案和小提琴。请立即尝试。这有效,但我忘了包含另一个不是需要隐藏的父级的div(.shippingprice)。请向上滚动以获取html标记。由于标签和span都具有相同的父项,因此也不会显示。shippingprice span。我再次更新了小提琴以向您展示。我看到了它在小提琴上的工作方式,但我没有意识到装运标签被包装在另一个span div中,装运价格是自己确定的分离span div。对此感到抱歉。请再次查看我的标记。感谢感谢您的感谢,但我只想在显示“Courier Rural”时隐藏“Courier”选项。哦,我更新了我的答案和小提琴。请立即尝试。这起作用了,但我忘了包含另一个不需要隐藏span(.shippingprice)的父级div。请向上滚动以获取html标记。由于标签和span都具有相同的父项,因此也不会显示。shippingprice span。我再次更新了小提琴以向您展示。我看到了它在小提琴上的工作方式,但我没有意识到装运标签被包装在另一个span div中,装运价格是自己确定的很抱歉,请再看一次我的分数。谢谢。根据我认为你想要的更新了答案。根据我认为你想要的更新了答案。