Мне нужно выполнить динамическую замену в строке с помощью jQuery. Я читал об использовании подстановочных знаков в селекторах, но я хочу, чтобы это было в строке.Замена динамического содержимого jQuery/javascript
Учитывая этот HTML:
<style type="text/css">@import url('css/another.css');</style>
<style type="text/css">@import url('css/stylesMQ.css');</style>
И я эту функцию в JQuery:
function adjustStyle(width) {
width = parseInt(width);
if (width < 701) {
$('style:contains("MQ")').text(function() {
return $(this).text().replace("MQ.css", "400MQ.css");
});
} else 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");
СОВЕТЫ:
- Я не использую mediaqueries, потому что мой клиент Фред Flinstone, он использует IE7 и не хочет pollyfills, потому что дополнительное время загрузки и потому, что они думают, что они демон.
- Есть другие @imported CSS на странице
- Я не знаю весь путь для CSS и папки, только имя (именно по этой причине я хочу сделать замену вместо того, чтобы писать относительное местоположение пути новый CSS.)
- Я могу изменить имя любого из этих CSS.
это связано с javascript, не специфичным для jquery, вы должны отредактировать тэг –