拆分并替换href

You*_*uss 3 jquery split replace function attr

我试图使用函数拆分和替换href.代码简单明了:

HTML

<a href="http://nu.nl">nu.nl</a>
Run Code Online (Sandbox Code Playgroud)

jQuery的

 $(document).ready(function () {   

     function rep() {
         href = $('a').attr('href');
         url = href.split('/');         
         href.replace(url[2], 'cnn.com');
     }

     rep()
 });
Run Code Online (Sandbox Code Playgroud)

正如您所见,我在文档中调用函数.我试过'prop'而不是attr而没有运气.我究竟做错了什么?示例:JsFiddle

Den*_*ret 5

你没有使用什么replace回报.如果要更改a元素中的href ,可能会更改

href.replace(url[2], 'cnn.com');
Run Code Online (Sandbox Code Playgroud)

$('a').attr('href', href.replace(url[2], 'cnn.com'));
Run Code Online (Sandbox Code Playgroud)

现在,假设你可能有多个a元素,我建议用你的整个代码替换

$('a').attr('href', function(_, href){
    url = href.split('/');          
    return href.replace(url[2], 'cnn.com');
});
Run Code Online (Sandbox Code Playgroud)

示范

如果您愿意,也可以使用正则表达式来避免分裂:

$('a').attr('href', function(_, href){
     return href.replace(/\/\/[^\/]+/, '//cnn.com')
});
Run Code Online (Sandbox Code Playgroud)