Я использую replaceWith, чтобы добавить общую панель навигации на несколько страниц.JQuery не влияет на элемент, добавленный с заменойWith
После заменыWith() Я хочу добавить «активный» класс в один из элементов li, чтобы ссылка выглядела активной.
Код не влияет на время выполнения. Но когда я запускаю $ («# link1»). AddClass («active») впоследствии в Chrome Snippets работает так, как ожидалось.
<body>
<div id='nav-placeholder'></div>
<script>
$.get("static/html/navbar.html", function(data){
$("#nav-placeholder").replaceWith(data);
});
//There is an <li> element in navbar.html with id="link1"
$("#link1").addClass("active");
</script>
</body>
попробовать '$ (документ) .ready (функция() {... код ... }); ' –
Нет, не имеет никакого эффекта. Я добавил console.log() до и после addClass(), и оба были напечатаны, но не влияют на ссылку. –
'$ .get()' является ** асинхронной ** операцией. Код в обратном вызове выполняется, когда HTTP-запрос завершается. Код сразу после '$ .get()' выполняется немедленно, до того, как будет вызван обратный вызов. – Pointy