Rumah >hujung hadapan web >tutorial js >JQuery $.setiap merentasi objek tatasusunan JavaScript instances_jquery

JQuery $.setiap merentasi objek tatasusunan JavaScript instances_jquery

WBOY
WBOYasal
2016-05-16 16:38:201268semak imbas

Lihat contoh jQuery mudah untuk mengulangi objek tatasusunan JavaScript.

var json = [
{"id":"1","tagName":"apple"},
{"id":"2","tagName":"orange"},
{"id":"3","tagName":"banana"},
{"id":"4","tagName":"watermelon"},
{"id":"5","tagName":"pineapple"}
];

$.each(json, function(idx, obj) {
alert(obj.tagName);
});

Coretan kod di atas berfungsi dengan baik, menggesa “epal”, “oren”…dsb., seperti yang dijangkakan.
Masalah: Rentetan JSON

Contoh berikut mengisytiharkan rentetan JSON (disertakan dalam petikan tunggal atau berganda) secara langsung.

var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},
{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},
{"id":"5","tagName":"pineapple"}]';

$.each(json, function(idx, obj) {
alert(obj.tagName);
});

Dalam Chrome ia menunjukkan ralat berikut dalam konsol:

Uncaught TypeError: Tidak boleh menggunakan operator 'in' untuk mencari '156'
dalam [{"id":"1","tagName":"apple"}...

Penyelesaian: Tukar rentetan JSON kepada objek JavaScript.
Untuk membetulkannya, tukarkannya kepada objek JavaScript melalui JSON.parse() standard atau $.parseJSON jQuery.

var json = '[{"id":"1","tagName":"apple"},{"id":"2","tagName":"orange"},
{"id":"3","tagName":"banana"},{"id":"4","tagName":"watermelon"},
{"id":"5","tagName":"pineapple"}]';

$.each(JSON.parse(json), function(idx, obj) {
alert(obj.tagName);
});

//or 

$.each($.parseJSON(json), function(idx, obj) {
alert(obj.tagName);
});
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn