0

这是从我的页面中提取的代码:

http://jsfiddle.net/Nt7V9/4/

它试图做的是根据同一行中其他单元格的内容将 WellName 值转换为链接。

它在 jsFiddle 的 IE10 中运行良好,但在实际应用程序中,它在 .html() 调用中失败。在 IE 10 上出现错误“对象不支持此属性或方法”。其他浏览器工作正常。

cells.eq(wellNameColumnIndex).html(('<a href="' + link + '" target="_blank">' + wellName + '</a>'));

Stack trace:
    clean, jquery-1.7.2.min.js, line 4
    buildFragment, jquery-1.7.2.min.js, line 4
    domManip, jquery-1.7.2.min.js, line 4
    append, jquery-1.7.2.min.js, line 3
    Anonymous function, jquery-1.7.2.min.js, line 4
    access, jquery-1.7.2.min.js, line 2
    html, jquery-1.7.2.min.js, line 4
    Anonymous function, cntrl.table.js, line 104

clean内,它卡在 p 处。内部HTML =n[1]+l+n[2]。在调试器中检查 p 会发现它没有innerHTML。p 似乎是一个具有属性baseName “div”的对象,但输入字符串中没有 div 标签。唔...

用 .text 替换 .html 有效,但单元格值不再是链接,而是实际标签。同样更改为 .html("anytext") 也会失败并出现相同的错误。

谁能帮忙解开这个谜?

4

1 回答 1

3

.html()在 IE 中要求您用作参数的 HTML 格式完美。它不会容忍任何错误(Chrome 和 Firefox 会尝试清理它)。

确保您输入的 HTML 对您使用的文档类型有效。

$("#selector").html("<p>Hello World!</p>"); //works

$("#selector").html("<span>Derp</div>"); //does not work
于 2013-05-22T13:04:29.977 回答