die neueste jQuery (1.9.0), ich bin verwirrt, warum dieser Code nicht funktioniert:jQuery Ajax Get Data Syntaxfehler, nicht erkannte Äußerung:
$.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();
Während die Konsole sehen, auf einem Klick Von den Kategorie-Links ruft das GET die gesamte Seite in seiner Antwort ab, aber dann folgt ein Syntaxfehler, unerkannter Ausdruck: (listet alle HTML-Seiten von der abgerufenen Seite auf). Also, etwas läuft schief in $.fn.getFaqList
, möglicherweise die Verwendung von $(data)
?
Ist irgendetwas offensichtliches falsch? Jede Hilfe würde sehr geschätzt werden. Ich bin nicht sehr versiert mit AJAX-Sachen.
ein .find Do ('a') – karthikr
Wenn Sie auf 1.8+ können Sie versuchen, '$ ($. ParseHTML (Daten)). Find' – Musa
Dank Musa! Das hat es geschafft! Ich werde das zu meiner Frage hinzufügen. – beefchimi