替换动态内容jQuery / javascript

我需要使用jQuery在字符串中进行动态替换。 我已经读过在选择器中使用通配符,但我希望它在一个字符串中。

考虑这个HTML:

@import url('css/another.css'); @import url('css/stylesMQ.css'); 

我在jQuery中有这个function:

 function adjustStyle(width) { width = parseInt(width); if (width = 701) && (width < 900)) { $('style:contains("MQ")').text(function () { return $(this).text().replace("MQ.css", "800MQ.css"); }); } else { $('style:contains("MQ")').text(function () { return $(this).text().replace("MQ.css", "MQ.css"); }); } } 

此函数是整个jQuery的一部分,它根据屏幕大小更改@imported css。


错误

它有效,但当我开始玩屏幕尺寸时,我会得到类似的结果:

 @import url('css/styles800800800800400400400400400400400400400400MQ.css'); 

我无法想象如何告诉jQuery替换号码
我想我需要这样的东西:

 .replace("styles*MQ.css", "styles400MQ.css"); 

提示:

  • 我没有使用媒体查询,因为我的客户是弗雷德弗林斯通,他使用IE7并且不想要pollyfills,因为额外的加载时间因为他们认为他们是恶魔。
  • 页面中还有其他@imported CSS
  • 我不知道CSS和文件夹的整个路径,只知道名称(这就是我想要替换的原因,而不是写新CSS的相对路径位置。)
  • 我可以更改任何这些CSS的名称。

而不是.replace("MQ.css", "MQ.css"); 尝试类似的东西

 .replace(/\d*MQ\.css/, "MQ.css"); .replace(/\d*MQ\.css/, "400MQ.css"); 
 $('style:contains("MQ")').text(function () { return $(this).text().split('/')[0]+"/400MQ.css"; }); 

我会用

 $('style:contains("MQ")').text(function (pos, value) { return value.replace(/styles(400|)MQ\.css/, "styles800MQ.css"); }); 

改变预期表达式的相同解决方案(400,800,”)