IE8中的jQuery错误 - .val()或trim()?

Emm*_*myS 1 jquery internet-explorer-8

我在IE8调试器中遇到jquery错误,但我不确定是哪个函数导致它.我在这里看到了很多帖子,说明IE8不支持native trim(),但我不是(我不认为)使用本机版本(我继承了这段代码;它不是我写的东西从头开始.)

这是导致问题的块 - 它是点击功能的一部分:

greenlight = false;
link = $(this);
href = $(this).attr("href");
row = $(this).parent().parent();
if ($(":text", row).exists()) {
    new_email = jQuery.trim($(":text", row).val());
        //do stuff here

}
Run Code Online (Sandbox Code Playgroud)

我在调试器中遇到的错误是在启动new_email的行上; 错误是"对象不支持此属性或方法".

任何人都可以帮我弄清楚1)IE8不支持哪些属性或方法,2)我能做些什么来修复它?我绝不是一个jquery专家; 我是99%的服务器端.

该代码适用于Chrome,Safari和Firefox.

Rob*_*ann 11

更新:由于新的信息,我认为你遇到IE的问题,当你有一个变量和一个ID相同的元素时,它会产生冲突,它会导致冲突和混淆错误消息有关功能性而不是退出.有关更详细的说明,请参阅此参考.http://www.karlstanley.net/blog/?p=5

原始答案:如果您在调试单个复杂线路时遇到问题,请将其拆分为多个部分,

var tempValue = $(":text", row).val();
new_email = jQuery.trim(tempValue);
Run Code Online (Sandbox Code Playgroud)

  • 可能是你遇到了IE中dom元素和javascript变量之间的命名冲突?http://www.karlstanley.net/blog/?p=5 (3认同)