IE8有点问题......
以下代码在Firefox和Chrome中运行正常......
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("[title=\"CAPPL:LOCAL.L_hk[1].vorlauftemp_ist-shortText\"]").css("background- color","red");
});
</script>
</head>
<body>
<div title="CAPPL:LOCAL.L_hk[1].vorlauftemp_ist-shortText">Value</div>
</body>
</html>
如果我想在IE8或更低版本中使用此代码,它会在没有任何错误消息的情况下崩溃... 有没有人能解决这个棘手的问题?
P.S。卸载IE8是noooo解决方案:D
答案 0 :(得分:2)
$(document).ready(function() {
$("[title=CAPPL\\:LOCAL\\.L_hk\\[1\\]\\.vorlauftemp_ist-shortText]").css({"background-color" : "red"});
});
似乎IE7 / IE8兼容模式仍然需要使用双反斜杠属性值转义中的特殊字符。另请注意,它可以在不转义_
的情况下工作,并且不需要标题前后的引号
如果你想使用任何一个 元字符(例如 !“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [] ^ {|}〜) 文字的一部分,你必须 用两个逃避角色 反斜杠:
\\
。例如,如果你 有一个id =“foo.bar”的元素,你 可以使用选择器$("#foo\\.bar")
。 关于有效的W3C CSS规范contains the complete set of rules CSS选择器。
答案 1 :(得分:1)
IE问题是选择器中有方括号和冒号的组合。
这个小提琴适用于IE(no:或[]):http://jsfiddle.net/aM9nX/4/
这个小提琴适用于IE(有[]):http://jsfiddle.net/4nfHW/1/
这个小提琴没有(有:和[]):http://jsfiddle.net/xghtg/3/
您是否可以删除这些字符?
答案 2 :(得分:0)
尝试.css({“background-color”,“red”}) 我不知道这是不是问题,但它之前让我感到悲伤(错过了{s)
答案 3 :(得分:0)
不确定这是否是拼写错误,但“background-color”中的空格会导致它无效。
答案 4 :(得分:0)
@anothershrubery是对的..它在IE8 http://jsfiddle.net/ha44p/
中有效你拼错了css属性background-color,这似乎是个问题。
答案 5 :(得分:0)