![](/img/trans.png)
[英]Can I completely hide a field in an HTML table and reference it in jQuery?
[英]How can I hide a div completely from HTML DOM?
我的页面上有2个div,每个div都有a,b类。 我也有2个网址
目标 :当我在站点/ b
时,我想隐藏b
类的div
,反之亦然。
目的是将它们完全隐藏在DOM中。 我不确定该怎么做。
我试过了
JS
var lastSegment = location.pathname.split('/').pop();
if (lastSegment === 'a') {
$(".a").removeClass("hidden");
} else {
$(".b").removeClass("hidden");
}
的CSS
.hidden {
display: none!important;
visibility: hidden!important;
}
的HTML
<div class="a hidden"> // Logic </div>
<div class="b hidden"> // Logic </div>
结果
当我检查元素时,我可以看到两个div。
任何帮助/提示/建议对此将不胜感激
jQuery的.detach()正在执行此操作。
.detach()方法与.remove()相同,除了.detach()保留与已删除元素关联的所有jQuery数据。 当稍后将删除的元素重新插入DOM时,此方法很有用。
这里:
var lastSegment = location.pathname.split('/').pop();
if (lastSegment === 'a') {
$(".b").remove();
} else {
$(".a").remove();
}
您可以使用remove()函数将其完全删除。
您不能通过添加和删除类来摆脱DOM。 有多种方法可以解决此问题。
完全使用Javascript添加/删除div。 不要同时渲染两者。
if(lastSegment === "a") { $(".target").append('<div class="a">Link A</div>'); } else { $(".target").append('<div class="a">Link B</div>'); }
使用Shadow DOM-ShadowDom元素对于inspect元素不可见,除非进行一些设置深埋在设置图标中。
教程: http : //www.html5rocks.com/zh-CN/tutorials/webcomponents/shadowdom/谢谢
你可以试试这个
if (lastSegment === 'a') {
$(".a").removeClass("hidden");
$(".b").addClass("hidden");
} else {
$(".a").addClass("hidden");
$(".b").removeClass("hidden");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.