これを最適化する方法は?
$('link[href="dir/style.css"]').attr("href", "dir/style2.css");
$('link[href="../../dir/style.css"]').attr("href", "../../dir/style2.css");
jQuery('link[href="../dir/style.css"]').attr("href", "../dir/style2.css");
これは、セレクターで終わる属性attr
を使用する単一の呼び出しで同じことを行う必要があります。
$('link[href$="style.css"]').attr('href', function(index, value) {
return value.replace('style.css', 'style2.css');
});
次のようなことができます。
$('link[href*="dir/style.css"]').attr('href', function(i, oldHref) {
return oldHref.replace('dir/style.css', 'dir/style2.css');
});
これは、属性を含むセレクターを使用して要素を選択し、呼び出しに関数を渡して.attr()
、更新された値を返します。
それはプロジェクトの構造によって異なりますが、次のようなことができます
$('a[href*="dir/style.css"]').attr('href', function(i,href) {
// return a version of the href that replaces "style." with "style2."
return href.replace('style.', 'style2.');
});
ここでフィドル: http://jsfiddle.net/dT8j6/123/