Javascript 使用jquery修改分离的html元素(change img.src)
我想在html元素中为img标记的所有src加前缀 当前我的代码如下所示:Javascript 使用jquery修改分离的html元素(change img.src),javascript,jquery,dom,Javascript,Jquery,Dom,我想在html元素中为img标记的所有src加前缀 当前我的代码如下所示: var html = ...; $('img[src]', html).each(function(a) { var $t = $(this); var oldsrc = $t.attr('src'); $t.attr({src: prefix + oldsrc}); }); 另一种选择 _.each($('img', html), function(img) { var src = base + $
var html = ...;
$('img[src]', html).each(function(a) {
var $t = $(this);
var oldsrc = $t.attr('src');
$t.attr({src: prefix + oldsrc});
});
另一种选择
_.each($('img', html), function(img) {
var src = base + $(img).attr('src');
img.src = src;
});
当我在dom上运行这段代码时,它工作得完美无缺。但是,当我尝试对分离的html对象运行此操作时,它将不起作用。
这将更新闭包中的img,但不会更新html中的img
我错过了什么
解决方案不需要使用jquery,也可以是纯javascript或主干,正如@Felix Kling指出的那样:html需要是DOM元素,但它是字符串
html = $(html);
修正了html是字符串还是DOM元素的问题?如果它是一个DOM元素,它将工作…什么意思,分离的html对象?你怎么知道它不起作用?当然应该。谢谢你。html=$html;修正了这个问题,你可以把它作为答案发布;