benim içeriğe, kendi kimliği numaraları sahip kutuları eklemek için bu html kodu dışına dizisini almak için çalışıyorum:jquery dizisi bir tanımlı olmayanı döndürüyor?
<a href="#" data-box="38,39,40">An Array</a>
kutu eklemek üzere:
<div id="box38">
...
</div>
<div id="box39">
...
</div>
<div id="box40">
...
</div>
olarak orada böyle html hatları da şunlardır:
<a href="#" data-box="24">No Array</a>
Ben de birden çok değerin ya da sadece bir tane varsa algılar şey lazım. Bu durumda, if (theid.length > 2)
kullanıyorum çünkü tek değerler daha sonra iki karakter almayacak.
Dizi [38,39,49]
olmalıdır ve console.log(theid);
tam olarak bu diziyi döndürür. Sonra benim mevcut içeriğin content.html(newHTML);
için newHTML
eklerseniz
var theid = $(this).data('box');
var newHTML = '';
if (theid.length > 2) {
theid = theid.split(',');
$.each(theid, function(idx) {
newHTML += $('#box' + theid[idx]).html();
});
} else {
var newHTML = '';
newHTML = $('#box' + theid).html();
console.log(theid);
};
Ama her yüklenen kutuların önünde bir "tanımsız" var? Burada bir ekran görüntüsü var:
Herbir döngü içinde kullanmadan önce 'newHTML'yi bildiriyorsunuz? – melancia
Önceden tanımlanmamış bir tanesine yeni bir dizgi birleştiriyorsunuz. 'newHTML + =" "' mevcut kodunuzda undefined + = "" 'anlamına gelir. – melancia
, yeniHTML bildirimini düzenledi, üzgünüm, özledim. Tamam Melancia bir intresting noktasıdır ... bu yüzden yeniHTML wirth'i sadece ilk kez = = 'yerine' = 'tanımlamaya çalışmalıyım? – samtun