在这里道歉是关于我的 javascript 图像替换脚本的另一个问题。到目前为止,在 stackexchangers 的帮助下,我得到了这样的结果,而且效果很好。但现在我需要再做一点小改动:
var paths = ["add","clear","copy","delete"];
var fullPaths = paths.map(function(x) { return "img[src*='" + x + "']"; } );
var imgs = document.querySelectorAll(fullPaths);
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i],
iClass = img.className,
iSrc = @@@THE CORRESPONDING NAME IN THE ARRAY@@@,
span = $('<span />', {'class': 'iconfont '+iClass+' '+iSrc,
title : img.parentNode.title
});
$(img).replaceWith(span);
}
我想iSrc
成为数组中图像的名称。因此,当<src="edit.png" class="iconmini>
替换图像时,跨度具有类:.iconfont
,.iconmini
, 和,.edit
我尝试过执行以下操作:
iSrc = paths[i]
但这显然不起作用并添加了错误的类:)
关于我的剧本,我还有另一个问题,但我会作为一个单独的问题提出。谢谢!
编辑:
再次感谢所有在这里帮助过我的人。我现在已经在我的代码中添加了一个额外的位,它也将设置图像标题,并认为我会在这里发布它,它可能对将来的某人有所帮助。
有些图像有标题,有些图像不喜欢用锚包裹起来。所以我做了以下似乎对我有用的事情:
var paths = ["add","clear","copy","delete"];
var fullPaths;
var imgs;
for(var p=0; p<paths.length; p++) {
fullPaths = "img[src*='" + paths[p] + "']";
imgs = document.querySelectorAll(fullPaths);
for (var i = 0; i < imgs.length; i++) {
var img = imgs[i];
if ($(img).attr('title')) {
iTitle = img.title;
} else {
iTitle = img.parentNode.title;
}
iClass = img.className;
iSrc = paths[p];
span = $('<span />', {'class': 'iconfont '+iClass+' '+iSrc,
title : iTitle
});
$(img).replaceWith(span);
}
}