私はこのjQueryコードを持っています:
$(document).ready(function() {
function adjustStyle(width) {
width = parseInt(width);
if (width < 701) {
$(('style[type="text/css"]).attr([href=*400*]')).text('@import url("css/styles_400.css");');
} else if ((width >= 701) && (width < 900)) {
$(('style[type="text/css"].attr([href=*400*]')).text('@import url("css/styles_800.css");');
} else {
$(('style[type="text/css"].attr([href=*400*]')).text('@import url("css/styles_normal.css");');
}
}
$(function() {
adjustStyle($(this).width());
$(window).resize(function() {
adjustStyle($(this).width());
});
});
});
スタイルスイッチャーです。このコードは here から取得しますが、作成している Web ポータルがサーバー内のすべての css をマージするため、少し変更しました。そのため、スタイルシートを @import して 1 つの css のみを対象とし、適切に変更する必要があります。
インポートした css にタイトルや ID を付けることができません (動的です)。上記のコードを試してみました。
<style type="text/css">@import url('css/styles_400.css');</style>
ご覧のとおり、私が持っている唯一の手がかりは URL です。
このCSSをターゲットにするにはどうすればよいですか? 私はjQueryのスキルがほとんどなく、自分のコードで何か間違ったことをしていると確信しています...しかし、それを対象とする適切な方法が見つかりません。
メディアクエリの代わりにこの古いスタイルスイッチャーを使用しているのはなぜですか? IE7 (クライアントの要件 - 土曜日にマンモスを狩っていると確信しています)に必要であり、Plone で奇妙なエラーを引き起こしているため、respond.js と css3-mediaqueries の両方が好きではありません。