ibr_98
@ibr_98

Почему «innerHTML» не работает в jquery?

Привет
var p = $("p");
p.innerHTML("javascript");

почему innerHTML не работает в jquery? js и jq это ведь один и тот же язык, если к примеру я бы написал p.append("javascript") - то все заработало бы...
  • Вопрос задан
  • 1200 просмотров
Решения вопроса 2
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
Ну тк не объединяй jq объекты с js объектами.
ты по сути пишешь:
$("p").innerHTML("javascript");
тобишь ты вызывешь jquery. а в jquery нет такой функции
Ответ написан
Arris
@Arris
Сапиенсы учатся, играя.
Дело в том, что
$("#id") и getElementById("id") возвращают совершенно разные структуры.
Вы сами можете проверить в консоли этой страницы, к примеру с айдишником clarify_link_436984.

Первая возвращает объект jQuery:
Object { 0: <a#clarify_link_436984.btn.btn_link.btn_comments-toggle>, length: 1, context: HTMLDocument → 436984, selector: "#clarify_link_436984" }


Вторая - (не уверен в точности формулировки: ссылку DOM-элемент)
<a class="btn btn_link btn_comments-toggle" href="javascript:void(0)" id="clarify_link_436984" title="Написать комментарий" role="toggle_question_comments">


В экземпляре, возвращаемом первой инструкцией, метод innerHTML не определен. Для этого в jQuery есть другие методы, работающие не с DOM-деревом напрямую, а с его представлением внутри jQuery (гуру фронтэнда, поправьте меня, если я не прав).

В общем, резюмируя: не путайте инструменты ;-)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AlexPlusPlus
p[0].innerHTML...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы