【问题标题】:Jquery find() doesnt work in IE but it works in google chrome.Jquery find() 在 IE 中不起作用,但在 google chrome 中起作用。
【发布时间】:2017-04-27 12:38:20
【问题描述】:

我有以下代码 - $.map(查找(********代码 *****)) 此特定代码在 IE 中给出了“查找”未定义的错误。它在谷歌浏览器中运行良好。

有什么办法可以解决这个问题?

【问题讨论】:

  • 在查找功能中设置了控件的属性。没有其他的。在调试 Js 时,我无法跨过 IE 中的查找功能,它说“查找”未定义。它可以在谷歌浏览器中跨步。

标签: jquery cross-browser


【解决方案1】:

请修改您的代码如下:

if (typeof window.find == "undefined")
{
    window.find = function(str){
        return document.getElementsByTagName("body").innerHTML.indexOf(str) > -1;
    }
}

将上面的代码放在最开始,可能在<head>,然后你的以下代码应该可以工作:

 $.map(find(********code *****)) 

【讨论】:

  • 嗨。现在添加您的代码后 - 我收到以下错误 - 无法获取未定义或空引用的属性“indexOf”。我正在使用 mvc 和剃须刀引擎。这段代码被添加到一个 Js 文件中。
  • 您能否在这个新添加的window.find() 函数中添加debugger 并检查您得到的document.getElementsByTagName("body").innerHTML 是什么
  • 你能再试一试吗:只需复制document.getElementsByTagName("body").innerHTML并在控制台中运行它。看看你得到了什么?还要检查你得到了什么$("body").text()
  • for - $("body").text() 它显示了一些结果。对于 document.getElementsByTagName("body").innerHtml 它仍然显示 'undefined'
  • 好的...所以假设您的页面上始终有 jQuery,您可以在 window.find = function(str) 中将 document.getElementsByTagName("body").innerHTML 替换为 $("body").text()。我希望这会奏效。
猜你喜欢
  • 1970-01-01
  • 2011-08-03
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 2017-10-01
  • 2013-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多