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; }

有什么办法可以将 CSS 应用到使用 () 命名的 div 上吗?

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 回答