如何用CSS或jQuery隐藏/移除Div中的指定单词ILS?
隐藏
.ordr-dtls-trans-line元素内的“ILS”文本方案 嘿,我来帮你搞定这个问题!既然没法直接修改HTML文件,只能通过前端手段移除目标文本,这里给你两个可行的方案,分别用CSS和jQuery实现:
方案一:使用CSS(无需JS,依赖页面布局)
因为“ILS”和后面的金额在同一个文本节点里,我们可以用伪元素覆盖掉“ILS”,前提是你知道页面的背景色,并且能调整覆盖宽度适配字体大小:
.ordr-dtls-trans-line { position: relative; overflow: hidden; } .ordr-dtls-trans-line::after { content: ""; position: absolute; /* 针对希伯来语RTL布局,用right定位更适配,可根据实际布局调整 */ right: calc(100% - 40px); top: 0; width: 30px; /* 根据字体大小调整宽度,确保完全覆盖ILS */ height: 100%; background-color: #ffffff; /* 替换成页面的实际背景色 */ }
注意事项:
- 需要根据页面字体大小、布局方向(RTL/LTR)调整
right和width的值 - 如果页面背景不是纯色,这个方法会失效,因为伪元素无法匹配复杂背景
方案二:使用jQuery(精准修改文本,更可靠)
这个方法直接操作文本节点,把“ILS”替换为空字符串,不受背景色影响,精准度更高:
// 确保页面加载完成且React渲染完毕后执行 $(document).ready(function() { // 找到目标div下的所有文本节点 $('.ordr-dtls-trans-line').contents().filter(function() { // 筛选出纯文本节点(nodeType为3) return this.nodeType === 3; }).each(function() { // 替换文本中的"ILS"为空字符串 this.textContent = this.textContent.replace('ILS', ''); }); });
要是你的页面没引入jQuery,也可以用原生JS实现相同逻辑:
document.addEventListener('DOMContentLoaded', function() { const targetDiv = document.querySelector('.ordr-dtls-trans-line'); if (targetDiv) { const textNodes = Array.from(targetDiv.childNodes).filter(node => node.nodeType === 3); textNodes.forEach(node => { node.textContent = node.textContent.replace('ILS', ''); }); } });
注意事项:
- 如果页面是React动态渲染的,可能需要在React完成渲染后执行代码,比如用
setTimeout或者MutationObserver监听DOM变化
内容的提问来源于stack exchange,提问作者MA-2016
相关产品推荐
相关产品推荐

