Селектор jquery не работает в Gmail - PullRequest
1 голос
/ 27 февраля 2012

Я использую Jquery для изменения панели инструментов навигации Google (черная).

Этот селектор работает на google.com и некоторых других сайтах Google, таких как Google Plus (plus.google.com):

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

(это выбирает элементы li на панели инструментов)

Но по какой-то причине в gmail этот селектор не работает. Структура страницы на gmail.com и других сайтах Google выглядит одинаково, но этот селектор ничего не возвращает при запуске в gmail.

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 27 февраля 2012

Содержимое (включая панель инструментов) Gmail, в отличие от других google-страниц, загружается внутри iframe.

Поэтому, когда вы используете этот код из верхнего документа, вы должны передать документ iframe как контекст (2-й аргумент для $())

2 голосов
/ 04 ноября 2016

Это правда, что это из-за iframe.

Вот обходной путь, если вы можете использовать чистый JavaScript.Вы можете использовать document.querySelectorAll() функцию javascript, и она сможет выбирать все, что вам нужно.

Он отлично работает в gmail.Даже document.getElementsByClassName() не работает.

...