IE的jQuery问题...仍适用于Firefox&铬

时间:2011-05-18 14:55:45

标签: jquery firefox internet-explorer-8

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

6 个答案:

答案 0 :(得分:2)

$(document).ready(function() {
  $("[title=CAPPL\\:LOCAL\\.L_hk\\[1\\]\\.vorlauftemp_ist-shortText]").css({"background-color" : "red"});
});

似乎IE7 / IE8兼容模式仍然需要使用双反斜杠属性值转义中的特殊字符。另请注意,它可以在不转义_的情况下工作,并且不需要标题前后的引号

来自jquery docs

  

如果你想使用任何一个   元字符(例如   !“#$%&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)

完全适用于FF,Safari,Chrome,IE9,IE8,除了IE7

亲自看看。我改变了“去”。因为它更适合感谢逃避它。

http://jsfiddle.net/p2ReV/