2016-04-28 8 views
0

Ich versuche auf jQuery .text() Methode auf einem dynamisch generierten Seitenelement zuzugreifen, was bedeutet, id hat die Form bBtn_123 wobei die Ganzzahl nach dem Unterstrich eine eindeutige ID darstellt. Also, ich würde gerne in der Lage sein, bBtn_123 (oder was auch immer die ID ist) im Erfolgs-Callback meines Ajax-Aufrufs (nicht mehr bekannt, ich weiß) zu rufen. Hier ist, wie ich versuche, darauf zuzugreifen:jQuery Access Object-Eigenschaft mit zusammengesetzten Namen

('#bBtn_' + spId).text() 

Ich bin sicher, es gibt einen Weg, dies zu tun, aber ich bin eine Art Fehler auf diese bekommen, mir berichten, dass .text() ist keine Funktion.

Hier ist der Rest meiner Funktion für einige Perspektive:

$(document).on('click', '[id^="bBtn_"]', function() { 
var spId = $(this).attr('id').split('_')[1]; 
$.ajax({ 
    url: '/bookmark/' + spId, 
    type: 'GET', 
    success: function(response) { 
     if (('#bBtn_' + spId).text() == "Bookmark") { 
      (('#bBtn_' + spId).text("Bookmarked!")) 
     } 
    }, 
    error: function(error) { 
    console.log(error); 
} 
}); 
}); 

Edit: Sie entschuldigen sich für den Titel, wenn es nicht besonders groß ist, ich war nicht ganz sicher, was mit zu gehen.

+0

seine ein Tippfehler nichts nur $ hinzufügen, bevor die Verbindung –

Antwort

1

Sie sind das Symbol $ fehlt. Es sollte wie sein:

$('#bBtn_' + spId).text(); 
1

Sie verpassen die $: $('#bBtn_' + spId).text()

1

Sie sind das Symbol $ zu vergessen.

$ ('# bBtn_' + spid) .text()

0

ändern diese Zeilen:

if (('#bBtn_' + spId).text() == "Bookmark") { 
    (('#bBtn_' + spId).text("Bookmarked!")) 
} 

Von:

var id = '#bBtn_' + spId; 
if($(id).text() === "Bookmark") { 
    $(id).text("Bookmarked!"); 
} 
Verwandte Themen