Javascript返回Uncaught TypeError:无法调用未定义的方法'indexOf'

时间:2013-10-06 17:11:55

标签: javascript jquery facebook

我有一位facebook好友邀请发件人,以下代码正在返回并发生错误。

iframeHTML = $myjq('#polldaddy_embed_0').html();
                          if (iframeHTML.indexOf("facebook") === -1) {
                              iframeHTML = iframeHTML.replace("fb_id=","fb_id="+window.uid);
                              iframeHTML = iframeHTML.replace("?q_3826051_url=","&q_3826051_url="+encodeURIComponent(window.url));
                              $myjq('#polldaddy_embed_0').html(iframeHTML);
                          if (window.total>=5) {
                               $myjq('#fb_first5_id').trigger('click');
                          }
                       }

我得到的错误是:

未捕获的TypeError:无法调用未定义的方法'indexOf'

1 个答案:

答案 0 :(得分:1)

这告诉您,当代码运行时,id polldaddy_embed_0的元素不存在。如果使用与任何内容都不匹配的选择器调用$(),则会得到一个空的jQuery集;如果您在空的jQuery集上调用html,则会返回undefined,并将其存储在iframeHTML变量中。然后你尝试使用该变量调用indexOf,然后你就会收到错误。