2015-07-23 2 views
0

Это следующий вопрос из того, который я удалил, потому что я решил, что решил проблему. Но теперь я на 100% уверен, что это от greasemonkey.Изменение индекса селектора jQuery с помощью greasemonkey

код ниже

$("head>link:nth-child(4)").after('<link rel="stylesheet" type="text/css" href="...">'); 

Что на самом деле происходит, является то, что вместо выбора 4-го ребенка (который является ссылка тег), он выбирает 3-го ребенка и ставит содержание после него, а после того, как 4-й элемент.

Мой обходной путь только добавляет +1 к индексу, как следует

$("head>link:nth-child(5)").after('<link rel="stylesheet" type="text/css" href="...">'); 

Я не добавить @require Jquery-файл-адрес, потому что я выполнение сценария на странице с меткой уже назвав его.

Может кто-нибудь проверить это с помощью greasemonkey, пожалуйста?

Почему это происходит, и если это фактический случай для сценариев greasemonkey, следует ли ожидать большего количества изменений с помощью кода, выполняемого в файле greasemonkey?

ответ

0

Селектор :nth-child() предназначен для того, чтобы начать подсчет индекса с 1.
Я не знаю, знали ли вы об этом.

Одно можно сказать наверняка, Greasemonkey не имеет ничего общего с вашей проблемой.

Greasemonkey ничего не делает, кроме выполнения кода Javascript, который вы предоставляете.

+0

Я прочитал документацию селектора. Но в настоящее время я выполняю сценарий greasemonkey на веб-странице с указанным выше кодом, и, как я объяснил в своем сообщении, мне нужно добавить +1 к индексу селектора, чтобы он вел себя так, как должен. Вместо 1-го ребенка, выбранного по (1), его можно выбрать только (2). Это происходит только тогда, когда я использую greasemonkey. Это моя проблема. – Corssa

+0

@Corssa Возможно, вы могли бы указать точный сценарий Greasemonkey (включая сайт), который вы используете? Greasemonkey ** ** Javascript, он тоже должен работать. Единственная проблема, с которой вы можете столкнуться, связана с моментом выполнения сценария. – Delgan

+0

Возможно ли, что рекламный блок может удалить определенный тег ссылки в момент открытия веб-страницы, и поэтому мой $ (селектор) предназначен для непреднамеренного разного тега? Выполняется ли adblock до выполнения сценария greasemonkey? – Corssa