处理一个结肠中的一个元素ID在CSS选择[重复]
-
02-07-2019 - |
题
这个问题已经有一个答案在这里:
JSF设置标识输入场 search_form:expression
.我需要指定某个造型上的元素,但是,结肠看起来像开始时一个伪元的浏览器,使它变得标记无效,并被忽视。反正是有逃跑的结肠癌的东西?
input#search_form:expression {
///...
}
解决方案
其他提示
使用反斜杠之前结肠不工作的许多版本的即(特别是6和7;可能是其他人)。
一个解决方法是使用进制代码结肠-这是\3A
例如:
input#search_form\3A expression { }
这一工作在所有浏览器:包括IE6+(可能还有更早的?), 火狐,铬、歌剧,等等。这是一部分 CSS2标准.
这篇文章 会告诉你怎么逃脱的任何角色在CSS。
现在,甚至还有一个工具,用于: http://mothereff.in/css-escapes#0search%5fform%3Aexpression
TL博士的所有其他对这个问题的答案是不正确的。你需要逃离这两个的强调(防止IE6从忽视该规则完全在一些边缘的情况下)和结肠字符用于选择适当工作在不同的浏览器。
从技术上讲,结肠字可以逃脱了因为 \:
, 但这并不工作,在即 < 8,这样你就有用 \3a
:
#search\_form\3a expression {}
你可以逃脱反斜杠
input#search_form\:expression {
///...
}
从 CSS规范
4.1.3的人物和情况
以下规则始终保留:
所有CSS样式表情况不敏感,除了部分,并不控制下的CSS。例如,这种情况下敏感的价值观HTML属性"id"和"类别"的字体名称,并Uri谎言的范围之外这个规范。特别注意到元素名称的情况不敏感,在HTML,但是情况的敏感于XML。在CSS、标识符(包括元素名称、类和标识,在选择)可以只包含符[a-z0-9]和ISO10646字U+00A1和高,再加上连字号(-)和下划线(_);他们不能开始一位数,或者用连字符之后,通过一个数字。标识还可以包含逃出来的人物和任何异10646字作为一个数字代码(见下一项)。例如,标识"B&W?"可以写为"B\&W\?"或"B\26W\3F".注意Unicode是代码的代码相当于ISO10646(见[UNICODE]和[ISO10646]).
在CSS2.1,a backslash()字表示三个类型的符逃脱。第一,在内部一串,反斜杠,随后通过换行被忽略(即串被视为不包含任何反斜杠或newline).
第二,它取消的意义,特别CSS符。任意字符的(除了一个十六位)可以逃脱了反斜杠,以消除其特殊的意义。例如,"\""是一个弦组成的一个双报价。样式表中的预处理器必须不删除这些反斜杠,从一种风格片因为这会改变风格片的意义。
第三,反斜杠逃允许提交人提到的字符,他们不能轻易放在一个文件。在这种情况下,反斜杠,是随后由最多六十六位数字(0..9A..F),其立场的ISO10646([ISO10646])的字符号,而不是零。(它是不确定的在CSS2.1如果发生了什么样式表中不包含一个字符用Unicode码位零。) 如果一个角色的范围[0-9a-f]下的进制数字,结束数需要作出明确的。有两种方法可做到这一点:
与空间(或者其他whitespace character):"\26B"("&B")。在这种情况下,用户代理人应享的一个"CR/LF"对(U+000D/U+000A)作为一个单一的空白符。通过提供完全6进制数字:"\000026B"("&B") 事实上,这两种方法可以结合在一起。只有一个空白字被忽略后一十六逃脱。注意,这意味着一个"真正的"空间后逃生顺序本身必须或是逃跑或翻了一番。
如果数量之外允许的范围Unicode(例如,"\110000"上最大10FFFF允许在当前Unicode),UA可替代的逃脱"替换角色"(U+FFFD)。如果角色可以显示,UA应该显示一个明显标志,例如一个"缺失的字符"字形的(cf。15.2,第5点).
注:反斜杠,在允许的情况下,始终被认为是一部分的标识或一串(即"\7B"不是标点符号,尽管"{",和"\32"被允许在开始一个类的名称,即使"2"是不可)。该标识"te\st"是完全相同的标识符作为"测试"。
我有同样的问题号,我是无法改变他们(不能访问代码输出的冒号)和我想要获取他们与CSS3选择字.
我把它放在这里,因为它可能是有用的人
input[id="something:something"]
工作现在jQuery的选择,并且它可能会工作的样式表,以及(可能有的浏览器问题)
我工作在澳大利亚国防军框架和我常常必须使用JQuery选择要素。这种格式对我的作品。这一工作在IE8。
$('[id*="gantt1::majorAxis"]').css('border-top', 'solid 1px ' + mediumGray);
我只发现了这种格式的工作对我来说对于IE7(Firefox太),和我使用JSF/借助该1.8.2.
Say form id=FFF, element id=EEE var jq=jQuery.noConflict(); jq(document).ready(function() { jq("[id=FFF:EEE]").someJQueryLibFunction({ jQuery lib function options go here }) });