tôi đang cố gắng để có được một mảng ra khỏi mã html này để thêm hộp, có những con số trong id của họ, nội dung của tôi:mảng jquery trả về một số không xác định?
<a href="#" data-box="38,39,40">An Array</a>
Các hộp để thêm:
<div id="box38">
...
</div>
<div id="box39">
...
</div>
<div id="box40">
...
</div>
Như có cũng là các dòng html như thế này:
<a href="#" data-box="24">No Array</a>
Tôi cũng cần một cái gì đó phát hiện nếu có nhiều giá trị hoặc chỉ một giá trị. Trong trường hợp này, tôi chỉ sử dụng if (theid.length > 2)
vì các giá trị đơn lẻ sẽ không còn lâu hơn hai ký tự.
Mảng phải là [38,39,49]
và nó là, như console.log(theid);
trả về chính xác mảng này.
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);
};
Nhưng nếu tôi sau đó thêm newHTML
nội dung hiện tại của tôi content.html(newHTML);
có luôn luôn là một "không xác định" ở phía trước của hộp nạp? Dưới đây là một ảnh chụp màn hình:
Bạn khai báo 'newHTML' trước khi sử dụng nó trong vòng lặp' each' ở đâu? – melancia
Bạn đang ghép một chuỗi mới vào một chuỗi chưa được xác định trước đó. 'newHTML + =" "' có nghĩa là 'undefined + =" "' trong mã hiện tại của bạn. – melancia
đã chỉnh sửa tờ khai HTML mới, xin lỗi tôi đã bỏ lỡ nó. Được rồi Melancia đó là một điểm interresting ... vì vậy tôi nên cố gắng xác định newHTML wirth chỉ '=' thay vì '+ =' lần đầu tiên? – samtun