我尝试创建一个浏览器扩展程序,自动将流中的Twitter化身从其正常版本eg _normal替换为_bigger版本(用_bigger.jpg替换_normal.jpg字符串)
以下代码在jsfiddle jsfiddle to test外部执行此替换时没有问题。
$("img.avatar").replaceWith(function () {
if ($(this).attr("src")) {
return $(this).attr("src", $(this).attr("src").replace("_normal", "_bigger"));
} else {
return $(this);
}
});
但是当我尝试在Twitter页面的控制台中使用相同的代码时,所有的头像图像都会消失。这是为什么?
答案 0 :(得分:0)
我还没有找到为什么这个在jsFiddle上运行但在twitter上却没有,但这是在Twitter上工作:
$("img.avatar[src]").each(function() {
var img = $(this);
img.attr('src', img.attr('src').replace("_normal", "_bigger"));
});
因此,您不会删除img
元素,只需将其src
属性值替换为新元素。
另请注意,您可以使用src
选择器仅获取replaceWith
[attributeName]
属性,而不是测试img.avatar
函数中的src
属性值定义
我将尝试更多地研究为什么你的方法不能在twitter上运行