Ответ 1
Это связано с тем, что jQuery $
конфликтует с другими библиотеками, такими как некоторые библиотеки facebook js.
вы должны использовать jQuery
вместо $
:
jQuery("#u_16_0").val("AJ College, Sivakasi");
Когда я пытаюсь выполнить ниже код JQuery в инструментах разработчика Google Chrome
$("#u_16_0").val("AJ College, Sivakasi")
я получаю ниже ошибки:
Неподготовленная ошибка: < [EX [[ "Пробовал получать элемент с идентификатором \" % s\ ", но он нет на странице.", # u_16_0"]]] > (...) h @LGuPoDEwQGD.js: 36i @ LGuPoDEwQGD.js: 36 (анонимная функция) @VM580: 1
Может кто-нибудь, пожалуйста, помогите мне решить эту проблему? Я проверил, что элемент присутствует на странице. Я имею в виду, если я просто набираю $("#u_16_0")
в консоли, этот элемент печатается.
См. приведенную ниже ссылку на скриншот, содержащий информацию о версии моего Google Chrome.
[
ОБНОВЛЕНИЕ - 1
Мне удалось выполнить это с помощью простого простого кода javascript
document.getElementById("u_16_0").value="University of Cambridge"
ОБНОВЛЕНИЕ - 2
Ответ Amin на основе jQuery также работал. Следовательно, принял это как ответ и наградил награду.
Это связано с тем, что jQuery $
конфликтует с другими библиотеками, такими как некоторые библиотеки facebook js.
вы должны использовать jQuery
вместо $
:
jQuery("#u_16_0").val("AJ College, Sivakasi");
Примечание. Не ожидайте, что $ всегда будет JQuery.
Консоль Chrome не имеет доступа к контенту содержимого script.
Неправильно, это так. Вам нужно посмотреть правильное место:
Вместо <page context>
ниже в анимации вам нужно выбрать chrome-extension://<your extension id>
Вы можете нажать "сверху" ниже в вашей версии хром.
Предыдущий скринкаст показывает, что вкладка Консоль инструментов разработчика Chrome содержит два раскрывающихся списка внизу, которые можно использовать для изменения среды выполнения консоли разработчика.
Левую сторону можно использовать для изменения контекста кадра (верхний кадр, поэтому iframe,...), а правую сторону можно использовать для изменения контекста script (страница, контент script,...).
Проблема заключается в том, что вы считаете, что $
всегда jQuery, а это не так. Простой способ увидеть, есть ли это console.log($)
и посмотреть, что он возвращает.
jQuery обычно возвращает
function (selector,context){return new jQuery.fn.init(selector,context)}
или
function (a,b){return new n.fn.init(a,b)}
Теперь любой может определить $
как что угодно. В Facebook это псевдоним для document.getElementById()
и имеет некоторые проверки в нем
function i(j){return h(j);}
running $("contentCol")
вернет элемент DOM.
И если $
не определен, в инструментах Chrome Dev это псевдоним для document.querySelector
$(selector, [startNode]) { [Command Line API] }
поэтому в конце не ожидаем, что $
будет jQuery.
От взгляда на этот ответ кажется, что ваш вызов:
$("#u_16_0")
на самом деле не вызывает jQuery.
Попробуйте изменить контекст страницы