如何在Javascript中编写\ 9 IE8 hack

时间:2015-03-03 16:45:08

标签: javascript css css3 internet-explorer-8

使用普通的CSS样式表时,我只使用这样的代码:

display:inline;
display:block\9;

它立即起作用。

但是当我在JavaScript中获得相同的代码时,它并不能使整个输入字段不可见。应如何输入IE8的\ 9 hack?

inp.style.display="inline";
inp.style.display="block\9";

3 个答案:

答案 0 :(得分:1)

你需要转义反斜杠,因为它是字符串中的特殊字符:

inp.style.display = 'block\\9';

答案 1 :(得分:0)

我的猜测是,JS将“\ 9”解释为文字“9”,你真的以inp.style.display="block9";结尾。

要解决此问题,请使用双反斜杠:

inp.style.display="block\\9";

未经测试,但需要尝试。

答案 2 :(得分:0)

一些context about the \9 CSS黑客攻击。

我建议你不要使用IE9的黑客攻击,因为这是考虑条件评论的IE的最后一个版本。
Conditional classes是一种更好的实践,更强大或面向未来。

如果您使用其中一个可怕的黑客,Browserhacks是一个很好的资源。过滤IE 9,您将使用IE6-10或8-10或9等JS属性进行黑客攻击等。
当我不得不使用(叹气)时,CSS黑客被证明是可靠的,我没有测试JS的。