ここでの謝罪は、私の JavaScript 画像置換スクリプトに関する別の質問です。これまでのところ、スタックエクスチェンジャーの助けを借りて、私はこれをこのように持っており、うまく機能しています。しかし今、私は別の小さな変更を加える必要があります:
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);
}
}