Javascript 如何使用JQuery剥离URL的一部分并将其余部分设置为源?

Javascript 如何使用JQuery剥离URL的一部分并将其余部分设置为源?,javascript,jquery,Javascript,Jquery,我试图弄清楚如何使用JQuery剥离URL的一部分并将其余部分设置为源代码?(我们试图删除的URL部分是我们所在的实际域)。因此,这就像通过剥离主域名并保留其余域名来强制内部链接到外部链接一样 原始代码: 我们可以使用去除不需要的字符串,并使用attr(attributeName,value)方法将其设置回原位 var originalStr=$('li').attr('data-src');//获取当前src var strTobeRemvd=http://khan.zaha.in/'; 修

我试图弄清楚如何使用JQuery剥离URL的一部分并将其余部分设置为源代码?(我们试图删除的URL部分是我们所在的实际域)。因此,这就像通过剥离主域名并保留其余域名来强制内部链接到外部链接一样

原始代码:


我们可以使用去除不需要的字符串,并使用
attr(attributeName,value)
方法将其设置回原位
var originalStr=$('li').attr('data-src');//获取当前src
var strTobeRemvd=http://khan.zaha.in/';
修改后的风险值=原始风险值替换(标准风险值,”)//移除不需要的str
$('li').attr('data-src',已修改);//将修改后的src设置回原位
console.log(已修改)


如果您想从任何Url而不仅仅是khan.zania域中删除所有此类事件,这将被证明是更有用的,因为它基本上需要在第一个http://或https://之后找到url的第一个/till结尾

$('li[data-src^="http"]').each(function(){
    var data=$(this).attr('data-src');
    $(this).attr('data-src',data.slice(data.indexOf('/',8)+1));
});

经过考验。这很有效。希望它能有所帮助。

您最好通过正则表达式来实现这一点,那么它不是特定于域的:

_src = $('.song-row').data('src');
_src = _src.replace(/http:\/\/(?:www\.)?([a-z0-9\-]+)(?:\.[a-z\.]+[\/]?)/g,'');
$('.song-row').attr('data-src', _src);

您可以看到它在这里工作-

这些元素是如何生成的,正如我从这里开始的那样-页面加载后,您可以处理'li'元素(嗯,具有'song row'类的元素),但您必须动态生成它们,因此您要么在那里做错了什么,或者你可以在将URL添加到页面之前修复它。我无法告诉你,看到StackOverflow上的响应速度如此之快,我有多惊讶。我尝试了你的代码,它在更改源代码时效果很好,但是音频无法播放,并且在控制台中给了我一个错误。[链接]你介意看一下并帮我解决这个问题吗?这意味着问题的背景已经改变了。在这种情况下,我建议您将此答案标记为正确,并提出一个新问题,我非常乐意为您提供帮助。