Internet Explorer 8中的大写标记

时间:2012-08-08 13:48:07

标签: javascript jquery internet-explorer-8 jqgrid-asp.net

我有一个HTML操作问题,只在IE8中显示出来。

我最近编写了一些分析标签的javascript,并根据它的不同做了一些事情。

这段代码假设标签是小写的。

if(value.indexOf('<input') == -1)

这在IE8下失败了,我必须解决它。

现在我可以和第二次检查如下:

if(value.indexOf('<input') == -1 && value.indexOf('<INPUT') == -1)

这将抓住两种可能性,但看起来非常混乱。

有没有更好的方法来应对这种情况? JQuery可以解决这个问题吗?

“value”是从JQGrid传递给我的javascript函数的html字符串。使用IE8,字符串是大写的,使用IE9,FF,Chrome,它是小写的。

3 个答案:

答案 0 :(得分:3)

这应该可以解决问题:

if(value.toLowerCase().indexOf('<input') == -1)

答案 1 :(得分:2)

使用

if(value.toLowerCase().indexOf('<input') == -1) { ... }

if(!/\<input/i.test(value)) { ... }

后者是一个设置了忽略大小写标志的正则表达式。

答案 2 :(得分:1)

根据您的情况,您还可以使用jquery .is()函数来测试元素http://api.jquery.com/is/

例如

$target.is("input")