Versuchen Sie jquery.attr()
.
Object.id
ist eine native JavaScript-Methode und wird nicht auf Objekte einer jquery-Sammlung anwendbar sein.
Um die ID in einem jQuery-Objekt zu erhalten, verwenden var phcat = $('.phcat#' + identifier_id).attr("id");
Oder wenn Sie mit Javascript bestehen bleiben möchten, verwenden Sie document.querySelector('.phcat#' + identifier_id).id;
$(function() {
$('body').on('click', '.save_random_profile', function() {
var identifier_id = $(this).attr("id");
$('.created_profile' + identifier_id).html('<img src="img/loader.gif" class="loading" />');
var phcat = $('.phcat#' + identifier_id).attr("id");
alert(phcat);
$.ajax({
type: "POST",
async: false,
url: "actions/save_random_profile.php",
data: dataString,
cache: false,
success: function(data) {
if (data == 0) {
$('.created_profile' + identifier_id).html('Not Sent!');
} else {
$('.created_profile' + identifier_id).html(data);
}
}
});
return false;
});
});
EDIT
Wenn Sie document.getElementById
verwenden, Verwenden Sie nicht die zusammen mit der ID.
var phcat = document.getElementById('phcat'+identifier_id).value;
Was ist der Sinn des Erhaltens der 'id' eines Elements Sie es ausgewählt ist 'id' - Sie haben diesen Wert bereits in' identifier_id'. Das Problem selbst besteht darin, dass jQuery-Objekte keine 'id'-Eigenschaft haben. Sie müssen stattdessen '.prop ('id')' verwenden - obwohl, wie ich bereits erwähnt habe, dies völlig redundanter Code ist. –
var phcat = $ ('.phcat #' + identifier_id) .id; zu var phcat = $ ('.phcat #' + identifier_id) .attr ('id'); – Roy
ändern Sie zu 'var phcat = $ ('.phcat #' + identifier_id) .id;' und prüfen Sie. aber was ist '.id' hier? ich denke, dass es '.val()' oder '.text()' oder 'attr ('id')' sein muss. so etwas –