あなたが正しいです!これは、CSSで行うことは可能ではないが、それにはJavaScript & /またはjQueryを使って行うことが可能です。 jQueryを使用して、これを試してみてください:
$(window).on('resize',function() {
$('#123').attr('id','234');
});
上記コードの問題、それは1xの変更のみであるということです。最初のサイズ変更後にそのIDを再ターゲットすることはできません。したがって、ブラウザーが2〜3ピクセルでサイズ変更されたことを検出すると、JSは破損します。
本当の問題は、あなたがサイズ変更にIDを変更したいと思う理由は、ありますか? data-id
:のようなHTML 5 data-*
属性を変更する方が良いだろう。これにより、#myUniqueId
属性を使用して繰り返し変更することができます。次に、ウィンドウのサイズを変更している間は、コードを継続して実行する必要があります。ここで
このコードのjsfiddleです:
HTML:
<div id="myUniqueId" data-id="123"></div>
<div id="output"></div>
のjQuery:
$(window).resize(function() {
var id = $('#myUniqueId').attr('data-id');
id++;
$('#myUniqueId').attr('data-id',id);
// Double check: what is my id?
var myId = $('#myUniqueId').attr('data-id');
$('#output').html(myId);
});
「id」を変更する目的は何ですか?異なるCSSスタイルを適用できる唯一の目的はありますか?それで、メディアのクエリは正しい軌道に乗ります。 – KevBot