У меня есть некоторые элементы в моем HTML, например, пользовательское изображение загрузки, которое я добавляю в раздел заголовка
<div data-role="page" id="home">
<div data-role="header" data-position="inline">
<div class='spinner'><img id="loading" src="css/images/loading.gif"/></div>
<h1>title</h1>
</div>
</div>
И чтобы показать это, я просто называю идентификатор изображения как $('#loading).show();
Проблема в том, что у меня есть этот макет на других страницах, и когда я загружаю новую страницу через AJAX, он добавляет новый DOM в конец документа, поэтому выбранное изображение с первой страницы, на которой я был НЕ второй.
<div data-role="page" id="page2">
<div data-role="header" data-position="inline">
//this image will not show
<div class='spinner'><img id="loading" src="css/images/loading.gif"/></div>
<h1>title for page 2</h1>
</div>
</div>
Теперь я знаю, что для этого есть обходные пути, например, я могу дать ему имя класса и назвать его таким образом, но это более фундаментальный вопрос о том, как jquery обрабатывает внедрение DOM. Вы могли бы подумать, что было бы достаточно интуитивно понятно находить элементы, основанные на активной странице, или, может быть, я что-то упустил.