ZBLOG

我需要获取的值为https://10.8.87.73:9876/backstage/workflow/flowRun/myAllJobsList?menu=25389880aa664d8ab08d308c094256a3&GratuitousProxy=c1a516fc7f385b92a23305733f31b2a0 不要删掉amp;

如果你需要保留 & 而不是让它被自动转换为 &,可以通过以下两种方法实现:


方法1:直接获取原始HTML属性(不自动转义)

使用 jQuery 的 .prop() 方法获取原始的 href 属性值(不会对 HTML 实体如 & 进行解码):

  1. let str = `<a url_type="" class="J_menuItem" href="https://10.8.87.73:9876/backstage/workflow/flowRun/myAllJobsList?menu=25389880aa664d8ab08d308c094256a3&amp;GratuitousProxy=c1a516fc7f385b92a23305733f31b2a0" data-index="5" style="color: rgb(94, 95, 97);">所有工单</a>`;
  2. const $html = $(str);
  3. console.log($html.prop('href')); // ✅ 输出包含 &amp;

输出结果:

  1. https://10.8.87.73:9876/backstage/workflow/flowRun/myAllJobsList?menu=25389880aa664d8ab08d308c094256a3&amp;GratuitousProxy=c1a516fc7f385b92a23305733f31b2a0

方法2:从原始字符串中提取(正则匹配)

如果担心 jQuery 自动处理转义,可以直接用正则从原始字符串中提取:

  1. let str = `<a url_type="" class="J_menuItem" href="https://10.8.87.73:9876/backstage/workflow/flowRun/myAllJobsList?menu=25389880aa664d8ab08d308c094256a3&amp;GratuitousProxy=c1a516fc7f385b92a23305733f31b2a0" data-index="5" style="color: rgb(94, 95, 97);">所有工单</a>`;
  2. const match = str.match(/href="([^"]*)/);
  3. console.log(match[1]); // ✅ 输出包含 &amp;

输出结果:

  1. https://10.8.87.73:9876/backstage/workflow/flowRun/myAllJobsList?menu=25389880aa664d8ab08d308c094256a3&amp;GratuitousProxy=c1a516fc7f385b92a23305733f31b2a0

关键点说明

  • .attr() vs .prop():
    • .attr('href') 会返回解码后的值(将 &amp; 转为 &)。
    • .prop('href') 返回原始的未解码值(保留 &amp;)。
  • 为什么需要保留 &amp;
    可能是为了后续拼接 URL 或避免二次编码问题,但需注意浏览器在实际使用时仍会将其作为 & 处理。

按你的需求选择任一方法即可!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=8028

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?