2013-02-19 55 views
2

如何優化?jQuery。各種項目的前綴選擇器

$('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"); 
+0

http://codereview.stackexchange.com/ – Alexander 2013-02-20 23:05:37

+0

一個更好的地方來問這個問題將在http://codereview.stackexchange.com/上 – Ryley 2014-03-13 15:49:42

回答

0

你可以做這樣的事情:

$('link[href*="dir/style.css"]').attr('href', function(i, oldHref) { 
    return oldHref.replace('dir/style.css', 'dir/style2.css'); 
}); 

使用attribute-contains選擇器選擇元素,然後將函數傳遞給.attr()以返回更新的值。

0

這取決於你的項目結構,但你可以做這樣的事情

$('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/