html()。split()在Chrome / IE中不起作用,但在Firefox中完美运行

时间:2014-02-01 12:47:04

标签: javascript jsp

我的jsp中有一行不能在Chrome和IE中运行,但可以在Firefox中使用:

var readInnerHtml = $(rowElement).html().split('<input class="')[1];

当我的应用程序在Chrome或IE中运行时,它变得未定义。任何人都可以帮忙吗?

我的实际功能是:

function rowAdded(rowElement) {
   $(rowElement).find("input").not('input[type=hidden]').not('input[type=checkbox]').val('');
   $(rowElement).find('input[type=hidden]').val(0);
   var ele = $(rowElement).find('input[type=checkbox]');
   var indexString = $(rowElement).html().split(']')[0];
   var readInnerHtml = $(rowElement).html().split('<input class="')[1];
   var checkForOutputDef = readInnerHtml.split('"')[0];
   ............
}

在这里我观察到split('....')在两个浏览器中工作但split('....').[1]仅在firefox中工作但在chrome中工作但是任何人都可以描述我现在必须做的事情吗?

1 个答案:

答案 0 :(得分:1)

重新发布我的评论以进行格式化

不要尝试解析HTML。在控制台中查看Chrome实际使用的内容 - 例如,引号可以是单引号而不是双引号或标签大写。使用className = ele.attr('class');.prop("class")

function rowAdded(rowElement) {
   $(rowElement).find("input").not('input[type=hidden], input[type=checkbox]').val('');
   $(rowElement).find('input[type=hidden]').val(0);
   var checkForOutputDef = $(rowElement).find('input[type=checkbox]').attr("class");
 }