У меня есть следующий код, который загружает некоторый html (который включает в себя привязки) в div, когда я нажимаю ссылку в navMenu. Когда я перехожу через него, <p>'s
скрыты, но они не скрыты, когда страница наконец появляется. После отображения страницы contentClickFunction скрывает/показывает <p>'s
, как и ожидалось.Какие события запускаются, когда jquery присваивает innerHtml
Я считаю, что мне нужно что-то вроде «ready», но для присвоения innerHtml. Есть ли событие, которое я могу слушать, поэтому мой вызов скрыть не переопределяется?
Я знаю, что могу достичь своей цели, добавив параметр css #content li>p { display:none; }
, но я хочу понять, что происходит.
$(document).ready(function(){
$("#content").on("click", "li>a", contentClickFunction);
$("#navMenu a").click(function(event){
var href = $(this).attr("href");
event.preventDefault();
$.get(href , function(data){
$("#content").html(data);
});
$("#content li > p").hide();
});
});
Спасибо. Это работает, хотя по-прежнему кажется, что должно быть построено событие, которое указывает, что документ был выложен. Возможно, это то, что DOMContentLoaded будет в HTML5? – LenB
@LenB. Боюсь, что для изменений DOM нет встроенного и хорошего события. 'DOMContentLoaded' похоже на событие' ready' jQuery. (На самом деле, jQuery использует его ...) – gdoron