我在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的脚本。
答案 0 :(得分:5)
试试这个:
$(".profile-img").attr("src").replace('blurr', 'default');
找到以下代码段:
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;
更新
正确加载文档后,您必须使用脚本。所以我只是在html主体的末尾移动了你的脚本。
回顾以下示例:
<!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;
答案 1 :(得分:2)
您必须加入SRC atribute
$(".profile-img").attr('src',$(".profile-img").attr('src').replace("blurr", "default"));
答案 2 :(得分:1)
使用jQuery attr函数获取URL,该函数返回属性值。
var url = $(&#34; .profile-img&#34;)。attr(&#34; src&#34;);
替换要替换的字符串中的值
var editedUrl = url.replace(&#34; blurr&#34;,&#34;默认&#34;);
使用相同的attr setter函数将新值设置为src
$(&#34;的.profile-IMG&#34)。ATTR(&#34; SRC&#34;,editedUrl);
组合代码看起来像
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
。
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;
运行上面的代码段并检查您是否可以看到网址已更改。
答案 4 :(得分:1)
上面使用的所有答案都会调用attr()
函数两次。这不会使代码变得更糟,但它有点太长了。您可以改为使用回调来缩短它:
$(".profile-img").attr("src", (_, old) => old.replace('blur', 'default'));
这里attr
的第二个参数是一个函数,它根据旧值返回新值。