Javascript 隐藏div包含某个文本,然后隐藏另一个div选项
我正试图找出如何隐藏配送选项,以便客户无法看到和选择其中一个快递选项是否包含“courier Rural”字样 总结 如果存在CourierDIV,则隐藏CourierDIV(包括shippingprice)选项 范例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_
<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中,装运价格是自己确定的很抱歉,请再看一次我的分数。谢谢。根据我认为你想要的更新了答案。根据我认为你想要的更新了答案。