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

使用jQuery处理itemprop属性的span文本时substring函数报错求助

解决jQuery通过itemprop定位span并截取文本的问题

嘿,我明白你的问题了——你想把那个带itemprop="dateVehicleFirstRegistered"的span里的日期(比如03-1973)只显示年份部分,但之前的代码报错了对吧?

先说说你之前代码的问题:你直接在jQuery选择器返回的对象上调用substring(),但substring()是字符串的方法,而jQuery选择器返回的是DOM元素的集合(jQuery对象),不是字符串,所以才会抛出TypeError。

给你两个可行的解决方案:

方案一:遍历元素处理文本

用.each()遍历所有符合条件的span,先取出文本内容处理,再把处理后的内容放回去:

<script type="text/javascript">
jQuery(document).ready(function(){
  // 遍历每个目标span元素
  jQuery('span[itemprop="dateVehicleFirstRegistered"]').each(function() {
    // 获取当前元素的原始文本
    const originalText = jQuery(this).text();
    // 截取从第3位开始的字符(跳过前3个的"MM-"部分)
    const yearOnly = originalText.substring(3);
    // 更新元素的文本内容
    jQuery(this).text(yearOnly);
  });
});
</script>

方案二:用.text()的回调函数(更简洁)

jQuery的.text()方法支持传入一个回调函数,它会自动遍历元素,把原文本传给你,你返回处理后的文本就行:

<script type="text/javascript">
jQuery(document).ready(function(){
  jQuery('span[itemprop="dateVehicleFirstRegistered"]').text(function(_, originalText) {
    // 直接返回截取后的年份
    return originalText.substring(3);
  });
});
</script>

这里第一个参数是元素的索引,我们用下划线忽略掉就行,重点是第二个参数的原始文本。

这样不管用户输入的日期是05-2020还是12-1999,都能准确提取出后面的年份部分啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:23:42