我的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中工作但是任何人都可以描述我现在必须做的事情吗?
答案 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");
}