javascript - 使用 Jquery/Javascript 在特定页面上隐藏带有特定文本的特定 div
问题描述
我想使用 Javascript、Jquery 或 CSS 隐藏特定页面上的元素。我的选择非常有限,因为我使用的是非常严格的 eshop 解决方案。我可以添加 Jquery 或 Javascript,但它会插入到我的 eshop 上的每个页面中。我不想让我的网站超载,所以第一个条件必须是“如果 body 类是 .view-commodity-detail”(这是每个产品详细信息的页面)做一些事情。
我需要的第二个条件是使用.detaillist-row类隐藏 div,但仅隐藏文本Luggage Volume所在的那个。(我还需要隐藏此 div 参数的 .detaillist-row-value - 例如 50-59L、60-69L 等。)
我在 eshop 产品页面上的代码如下所示
<body class=".view-commodity-detail">
<div class="vc-commoditydetail_parameters">
<div class="detaillist-row">
<div class="detaillist-row-name">Luggage Volume</div>
<div class="detaillist-row-value"><span>50-59l</span></div>
<div class="detaillist-row-value"><span>60-69l</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Weight</div>
<div class="detaillist-row-value"><span>2500 G</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Size</div>
<div class="detaillist-row-value"><span>56 x 34 x 36 CM</span></div>
</div>
</div>
</body>
我正在考虑使用这样的东西,但它会隐藏我所有的细节列表行,我只想隐藏 Luggage Volume 所在的那个。
if ($("body").hasClass(".view-commodity-detail")) {
if ($('.detaillist-row > .detaillist-row-name:contains("Luggage volume")').length > 0) {
$(".detaillist-row").hide();
}
}
我希望它有任何意义。
谢谢你们的帮助!
解决方案
您可以使用它来执行此操作,data-value
但您需要添加data-value
到要隐藏的元素。
像这样:
<div class="detaillist-row-name" data-value="Luggage Volume">Luggage Volume</div>
div[data-value="Luggage Volume"] {
display: none;
}
<body class=".view-commodity-detail">
<div class="vc-commoditydetail_parameters">
<div class="detaillist-row">
<div class="detaillist-row-name" data-value="Luggage Volume">Luggage Volume</div>
<div class="detaillist-row-value"><span>50-59l</span></div>
<div class="detaillist-row-value"><span>60-69l</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Weight</div>
<div class="detaillist-row-value"><span>2500 G</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Size</div>
<div class="detaillist-row-value"><span>56 x 34 x 36 CM</span></div>
</div>
</div>
</body>
或者你可以使用javascript
<body class=".view-commodity-detail">
<div class="vc-commoditydetail_parameters">
<div class="detaillist-row">
<div class="detaillist-row-name" id="detaillist-row-name">Luggage Volume</div>
<div class="detaillist-row-value"><span>50-59l</span></div>
<div class="detaillist-row-value"><span>60-69l</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Weight</div>
<div class="detaillist-row-value"><span>2500 G</span></div>
</div>
<div class="detaillist-row">
<div class="detaillist-row-name">Size</div>
<div class="detaillist-row-value"><span>56 x 34 x 36 CM</span></div>
</div>
</div>
</body>
<script>
var str = document.getElementById("detaillist-row-name").innerHTML;
var n = str.replace("Luggage Volume", "");
document.getElementById("detaillist-row-name").innerHTML = n;
</script>
推荐阅读
- javascript - 如何创建console.log esk 打字效果
- shader - 奇怪的纹理包裹问题(片段着色器)
- flutter - 检查是否安装了特定的应用程序
- java - 在读取文件时从某一行创建变量
- java - 从数据库中检索时,OffsetDateTime 值已更改
- windows - 从 Windows 命令行运行 omnet++ 模拟
- javascript - 打字稿如何连接枚举值以在开关中使用
- javascript - Shepherd.js - 每次重新渲染时的新游览实例 - 自动触发 tour.start() 将使用“死”实例
- c# - 访问vba中的.net5 com库
- flutter - Flutter 对齐单个子元素