如何用jQuery获取指定纯文本?现有HTML结构求更优实现方案
嘿,我有几个更简洁的方法可以帮你快速拿到纯文本“Size”,不用绕那么多弯:
方法一:利用jQuery的contents()+last()+trim()
这个应该是最直观的写法,contents()会获取元素下的所有子节点(包括容易被忽略的文本节点),我们直接取最后一个文本节点,再用trim()去掉前后多余的空格即可:
$("#lb_size").contents().last().text().trim()
方法二:原生textContent配合字符串处理
如果不想嵌套太多jQuery方法,直接获取原生DOM元素的textContent,再用正则把开头的星号全部去掉,最后trim掉空格:
$("#lb_size")[0].textContent.replace(/^\*+/, '').trim()
这里的正则/^\*+/专门匹配开头连续的星号,替换为空后就只剩下我们需要的“Size”了。
方法三:精准筛选文本节点
如果担心元素内还有其他文本节点干扰,可以明确筛选出所有类型为文本节点的内容,再取最后一个:
$("#lb_size").contents().filter(function() { return this.nodeType === 3; // nodeType=3 是文本节点的标识 }).last().text().trim()
这几种方法都比你之前的写法简洁不少,选哪种全看你的使用习惯~
内容的提问来源于stack exchange,提问作者Vic
相关产品推荐
相关产品推荐

