如何优化这个?
$('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
这应该在使用以 selector 结尾的属性的单个调用中执行相同的操作:
$('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/