$.ajax({
type: "GET",
url: "/users",
dataType: "json",
success: function(people) {
people.forEach(function(person) {
usersDiv.innerHTML += '<div>'+
'<h1>' + person.username + '</h1>'+
'<button class="send-message">Write message</button>'+
'</div>'; },
error: function(err) {
alert("blad + error" );
},
contentType: "application/json"
}).done(function() {
$(".send-message").click(function() {
var that = $(this);
var parentOfThat = that.parent();
var nameOfTheUser = String(parentOfThat.find("h1").textContent);
});
)
此代码完美无缺。它使用h1 paragraf以及json对象中的每个人名填充userDiv。 当我想要检索h1 innerHTML的名称时,它会产生未定义的。我几乎尝试了所有方法,从text()到html()等等。
答案 0 :(得分:0)
你能尝试使用find(“h1”)。eq(0).text()或find(“h1:first”)。text()来确保只检索一个元素吗?
答案 1 :(得分:0)
更改为
contentType: "application/json"
}).done(function() {
$(".send-message").click(function() {
var nameOfUser = $(this).prev('h1').text();
//alert(nameOfUser);
});
)
的JSFiddle
答案 2 :(得分:0)
确定。问题解决了!我实际上有一个div更多!而不是
String(parentOfThat.find("h1").textContent)
我不得不将其更改为:
String(parentOfThat.parent().find("h1").textContent)