如何使用jQuery val()提取URL锚点并设置为输入框值?
解决方案:提取URL中的锚点部分设置到输入框
你可以通过两种可靠的方式提取URL里的锚点部分,替换原有代码即可:
方法一:使用原生URL对象(推荐)
这种方法利用浏览器原生的URL解析能力,能稳定处理各种格式的URL,避免手动字符串处理的潜在问题:
jQuery(document).on('click','#getit', function() { const videoLink = api.get_video_link(); const urlObj = new URL(videoLink); jQuery("#getitout").val(urlObj.hash); });
说明:
new URL(videoLink)会自动解析整个URL,拆分出协议、域名、路径、锚点等各个部分urlObj.hash直接返回带#的完整锚点内容(比如#anchor),正好符合你的需求
方法二:字符串分割(兼容旧场景)
如果需要兼容不支持URL对象的极旧浏览器,可以用字符串分割的方式:
jQuery(document).on('click','#getit', function() { const videoLink = api.get_video_link(); // 先判断是否存在锚点,避免分割后出现undefined if (videoLink.includes('#')) { const anchor = `#${videoLink.split('#')[1]}`; jQuery("#getitout").val(anchor); } else { // 如果没有锚点,可以设置空值或者其他默认内容 jQuery("#getitout").val(''); } });
说明:
split('#')会把URL按#拆分成数组,第二元素就是锚点名称,加上#后就是你需要的内容- 增加了
includes('#')的判断,防止URL没有锚点时出现异常
内容的提问来源于stack exchange,提问作者mrmoon97
相关产品推荐
相关产品推荐

