You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery获取嵌套标签中的<b>标签文本

解决jQuery获取嵌套标签文本的问题

问题分析

你代码失效的核心原因是用错了方法:

  • closest() 是向上查找最近的父级匹配元素,但你要找的<b>是.strikeinfocontent的后代子元素,查找方向完全错误。
  • next() 是查找当前元素的同级下一个元素,和你的DOM结构逻辑不匹配。

正确实现方法

方法1:批量获取所有文本(推荐)

如果需要一次性拿到所有<b>的文本,可以用map()和get()组合提取成数组:

// 查找.strikeinfocontent下所有的<b>标签,提取文本转为数组
var bTextArray = $('.strikeinfocontent b').map(function() {
    return $(this).text().trim(); // trim()去除可能的空格
}).get();

// 输出数组结果:["268400", "51150"]
console.log(bTextArray);
// 转成你需要的逗号分隔字符串
console.log(bTextArray.join(', ')); // "268400, 51150"

方法2:单独获取每个的文本

如果需要分别获取第一个和第二个<b>的内容,可以通过父级<p>的位置定位:

// 获取第一个<p>里的<b>文本
var oiValue = $('.strikeinfocontent p:first b').text();
// 获取第二个<p>里的<b>文本
var oiChgValue = $('.strikeinfocontent p:last b').text();

console.log(oiValue); // 268400
console.log(oiChgValue); // 51150

上下文内查找补充

如果你的代码是在某个特定上下文i(比如某个父元素)内执行,只需要把选择器改为i.find()即可:

var bTextArray = i.find('.strikeinfocontent b').map(function() {
    return $(this).text().trim();
}).get();

内容的提问来源于stack exchange,提问作者Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:50:34