3

私はhtmlにこの要素を持っています:

<div id="element0div0">
div 0
</div>
<div id="element1div1">
div 1
</div>
<div id="element2div2">
div 2
</div>

element{n}div{n} のような要素に css を適用するために正規表現のようなものを使用できますか?

4

2 に答える 2

4

数字と文字を区別するための正規表現はありませんが、次の方法を使用して解決策に確実に取り組むことができます。

div[id^=element][id*=div] {
    /* css */
}

idこれには、次の(およびそれ以上の)文字列と一致するという欠点があります。

  • elementdiv
  • elementSomeOtherStringdiv
  • elementdivSomeOtherString

あなたの質問の性質を考えると、共通のスタイルを適用したいすべての要素に共通のクラス名を使用する方がはるかに賢明であることをお勧めします。

参照:

于 2013-02-11T18:01:17.683 に答える
2

はい、できますが、JavaScriptを使用する必要があります。

jQueryの使用:

$('div').filter(function() {
   return this.id.match(/element[\d]+div[\d]+/)
}).css({color:'red'}); 

バニラjsの使用:

for (var divs=document.getElementsByTagName('div'), i=0; i<divs.length; i++) {
    if (divs[i].id.match(/element[\d]+div[\d]+/)) divs[i].style.color="red";
}

これは、要求したことを実行する必要があることを前提としています。つまり、IDに適用された正規表現によって検出された要素にスタイルを適用します。ただし、ほとんどの場合、HTMLを作成するときにクラスを追加するなど、より簡単な解決策を見つけることができます。

于 2013-02-11T18:00:57.937 に答える