Stosując najnowsze jQuery (1.9.0), jestem zdezorientowany, dlaczego ten kod nie działa:jQuery Ajax Get błąd danych składni, nierozpoznany wyrażenie:
$.testAjaxFilter = function() {
var base = this;
// get faq categories
var currentFaqCategories = $('#category-list ul li a');
// loop through each faq category link and bind a click event to each
if (typeof currentFaqCategories !== 'undefined') {
$.each(currentFaqCategories, function(index, category) {
$(category).click(function(e) {
$(e.target).getFaqList();
return false;
});
});
}
// GET faq list elements from category link
$.fn.getFaqList = function() {
$.get($(this[0]).attr('href'), function(data) {
base.addFaqSectionToPage($(data).find('section.faq-page #content-column'));
});
};
// add new faq section to current page
this.addFaqSectionToPage = function(faqSection) {
// remove old faq section
var currentFaqSection = $('section.faq-page #content-column');
currentFaqSection.empty();
currentFaqSection.append(faqSection);
};
};
$.testAjaxFilter();
Podczas oglądania konsolę, po kliknięciu jednego linków kategorii, GET pobiera całą stronę w odpowiedzi, ale po niej następuje błąd składniowy, nierozpoznane wyrażenie: (wyświetla cały kod HTML z pobranej strony). Coś jest nie tak z $.fn.getFaqList
, ewentualnie z użyciem $(data)
?
Czy jest coś oczywistego, że robię źle? Każda pomoc będzie bardzo ceniona. Nie jestem zbyt bystry z materiałami AJAX.
Wykonaj .find ('A') – karthikr
Jeśli jesteś na 1.8+ można spróbować '$ ($. ParseHTML (dane)). Find' – Musa
Dzięki Musa! Tak to zrobiło! Dodam to do mojego pytania. – beefchimi