如何用jquery更改url

时间:2018-04-19 08:50:51

标签: jquery

我在jquery和userscripts中都是全新的。  有人可以帮我这个:

StreamWriter

我想更改网址中的一个字词。 (模糊)到(默认

<a class="image is-100x100" href="/profile/myprofile">
   <img class="profile-img" src="https://cdn.blabla/folder/blurr/100x100/content/166634.jpg" alt="">
</a>

我该怎么做?

<a class="image is-100x100" href="/profile/myprofile">
   <img class="profile-img" src="https://cdn.blabla/folder/default/100x100/content/166634.jpg" alt="">
</a>

编辑:

我想要一个tapermonkey脚本而不是concole的脚本。

5 个答案:

答案 0 :(得分:5)

试试这个:

$(".profile-img").attr("src").replace('blurr', 'default');

找到以下代码段:

&#13;
&#13;
var updatedSrc = $(".profile-img").attr("src").replace('blurr', 'default');
$(".profile-img").attr("src",updatedSrc);
alert($(".profile-img").attr("src"));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="image is-100x100" href="/profile/myprofile">123
   <img class="profile-img" src="https://cdn.blabla/folder/blurr/100x100/content/166634.jpg" alt=""/>
</a>
&#13;
&#13;
&#13;

更新

正确加载文档后,您必须使用脚本。所以我只是在html主体的末尾移动了你的脚本。

回顾以下示例:

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

</head>
<body>

<a class="image is-100x100" href="/profile/myprofile">
   <img class="profile-img" src="https://cdn.blabla/folder/blurr/100x100/content/166634.jpg" alt="">
</a>
<script>
(function() {
 var src= $('img').attr('src');
    src = src.replace("blurr", "default")
    $('img').attr('src',src);
console.log($('img').attr('src'));
})();
</script>
</body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您必须加入SRC atribute

$(".profile-img").attr('src',$(".profile-img").attr('src').replace("blurr", "default")); 

答案 2 :(得分:1)

  1. 使用jQuery attr函数获取URL,该函数返回属性值。

    var url = $(&#34; .profile-img&#34;)。attr(&#34; src&#34;);

  2. 替换要替换的字符串中的值

    var editedUrl = url.replace(&#34; blurr&#34;,&#34;默认&#34;);

  3. 使用相同的attr setter函数将新值设置为src

    $(&#34;的.profile-IMG&#34)。ATTR(&#34; SRC&#34;,editedUrl);

  4. 组合代码看起来像

    var url = $(".profile-img").attr("src");
    var editedUrl = url.replace("blurr", "default");
    $(".profile-img").attr("src",editedUrl);
    

    javascript替换函数的参考,

    https://www.w3schools.com/code/tryit.asp?filename=FQI3GTEMQDE6

答案 3 :(得分:1)

使用src更改图片attr

&#13;
&#13;
var src= $('img').attr('src');
src = src.replace("blurr", "default")
$('img').attr('src',src);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="image is-100x100" href="/profile/myprofile">123
   <img class="profile-img" src="https://cdn.blabla/folder/blurr/100x100/content/166634.jpg" alt=""/>
</a>
&#13;
&#13;
&#13;

运行上面的代码段并检查您是否可以看到网址已更改。

Out put result

答案 4 :(得分:1)

上面使用的所有答案都会调用attr()函数两次。这不会使代码变得更糟,但它有点太长了。您可以改为使用回调来缩短它:

$(".profile-img").attr("src", (_, old) => old.replace('blur', 'default'));

这里attr的第二个参数是一个函数,它根据旧值返回新值。

http://api.jquery.com/attr/#attr-attributeName-function