Я только недавно изучал JQuery для использования на личном веб-сайте.Что-то, что я хотел добавить к веб-сайту, было функцией предварительного просмотра блога, которая использует AJAX и JSON для получения заголовка и предварительного просмотра текста сообщения в блоге.Когда посетитель нажимает на вкладку блога, JQuery извлекает информацию и отображает заголовки так, как я хочу.Заголовки должны быть кликабельными, поэтому при щелчке по заголовку отображается текст предварительного просмотра.По большей части у меня это работает с помощью функции .on () JQuery, однако по любой причине кликабелен только любой другой заголовок.Вот код:
$(document).ready(function() {
function handleSelect(event, tab) {
if (tab.index == 1) {
$("#blogContent").empty();
$.getJSON("/TimWeb/blogPreview", function(data) {
$.each(data, function(i) {
$("#blogContent").append("<h3 class=head>" +
data[i].blogTitle + "</h3>" +
"<p>" + data[i].blogBody + "</p>");
$("#blogContent .head").on("click", function() {
$(this).next().toggle();
}).next().hide();
});
});
}
}
var tabOpts = {
select:handleSelect
};
$(".tabs").tabs(tabOpts);
});
Для более наглядного описания проблемы, если у меня есть восемь предварительно просматриваемых постов в блоге, заголовок для каждого будет отображаться соответствующим образом, со скрытым содержимым.Если я попытаюсь щелкнуть первый, третий, пятый или седьмой заголовок, ничего не произойдет.Если я нажму второй, четвертый, шестой или восьмой заголовки, появится предварительный просмотр.Если я щелкну по нему еще раз, он будет скрыт, как я и ожидаю.
В случае возникновения путаницы, blogContent является идентификатором div, на который ссылается вкладка jQuery для раздела блога.Буду очень признателен за любой совет или мудрость, которые вы мне можете дать!