如何用jQuery修改div指定文本,保留strong标签内的变量值
保留strong标签仅修改目标div内的纯文本内容
要实现只修改div里的纯文本(比如"Passport Priority Duties and Taxes Paid"和"·")、保留strong包裹的价格变量,别用text('')清空全部内容,试试这两种实用方法:
方法一:分离并回插strong元素
适合结构简单的场景,步骤清晰:
// 定位目标div const $targetDiv = $('.content-box__row div:nth-child(3)'); // 临时移除并保存strong标签 const $priceElement = $targetDiv.find('strong').detach(); // 设置新的纯文本内容 $targetDiv.text('你的新文本内容 · '); // 把价格标签放回div里 $targetDiv.append($priceElement);
方法二:直接操作文本节点
精准定位纯文本节点修改,不改动元素结构:
$('.content-box__row div:nth-child(3)').contents().each(function() { // 筛选出非空的文本节点(nodeType=3代表文本节点) if (this.nodeType === 3 && $.trim(this.nodeValue) !== '') { // 替换成你需要的文本内容 this.nodeValue = '新的文本描述 · '; } });
两种方法都能实现需求,第一种代码更简洁,第二种适合需要保留原有节点顺序的场景,按需选择即可。
内容的提问来源于stack exchange,提问作者Apoorva Singh
相关产品推荐
相关产品推荐

