2

私が作成したテンプレートで一連のコードを生成する支払いサービスを使用しています。問題は、一部の div に名前を付けるときに角括弧 "()" を使用することです。生成されたすべての div のスタイルを設定する必要があり、CSS はブラケットで名前が付けられた div を好まないため、これは問題を引き起こします。

彼らのコード:

<div id="wwctrl_paytypeLogo_AMEX">
<div id="wwctrl_paytypeLogo_AMEX(SE)">
<div id="wwctrl_paytypeLogo_AMEX(DK)">

私のCSS:

#wwctrl_paytypeLink_MTRO button { background: url(images/icon_pay_maestro.png) 265px 50% no-repeat; }
#wwctrl_paytypeLink_AMEX button,
#wwctrl_paytypeLink_AMEX(SE) button,
#wwctrl_paytypeLink_AMEX(DK) button { background: url(images/icon_pay_amex.png) 265px 50% no-repeat; }

() を使用して名前を付けた div に CSS を適用するためにできることはありますか?

4

2 に答える 2

6

主な問題は、(ブラケット)が ID 属性で使用できる有効な文字ではないことです。仕様を参照してください。

ただし、ID を変更できない場合は、いつでもバックスラッシュ ( \) を使用してセレクター内の角かっこをエスケープできます (それ以外の場合は特殊な疑似クラス文字として機能するため)。

#wwctrl_paytypeLink_AMEX\(SE\) button,
#wwctrl_paytypeLink_AMEX\(DK\) button { background: url(images/icon_pay_amex.png) 265px 50% no-repeat; }
于 2011-04-14T07:48:59.990 に答える
1

() 文字は、HTML ID 属性では無効です。

HTML の id 属性の有効な値は何ですか?

クラケットのキャラクターを別のものに変更するか、完全に削除する必要があります。その質問に対する最高評価の回答を読むことをお勧めします。有効ではあるが問題を引き起こす可能性のある他の文字があるためです。

于 2011-04-14T07:52:23.377 に答える