1

我正在使用Jquery修改Google导航工具栏(黑色)。jquery selector not working in Gmail

这个选择的工作在google.com和其他一些谷歌的网站,如谷歌加(plus.google.com):

$("#gbzc").find("li.gbt") 

(这个选择工具栏中的李项)

但对于某些原因,在gmail里面,这个选择器不起作用。该网页的结构在gmail.com和其他谷歌网站上看起来完全相同,但是这个选择器在gmail中运行时不会返回任何内容。

任何想法?

+0

没有错误?也许与其他js框架冲突?你有没有尝试jQuery(“选择器”)? – 2012-02-26 20:27:17

回答

4

不同于其他谷歌页面的Gmail的内容(包括工具栏)在iframe中加载。

所以,当你从上面的文档使用此代码,您必须通过iframe的文档作为上下文(第二个参数为$()

+0

是的,你是对的,在Gmail中它是在一个iframe中。如果用户使用Gmail,我最终会使用它:$(“#canvas_frame”)。contents()。find(“#gbzc”);谢谢 – Guy 2012-02-26 23:50:39

1

这是真的,那是因为iframe的。

这是一个解决方法,如果你可以使用纯JavaScript。 您可以使用JavaScript的功能document.querySelectorAll(),它将能够选择你需要的任何东西。

它在gmail中正常工作。即使document.getElementsByClassName()也不起作用。