欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery遍歷json生成樹(shù)

隨著前端開(kāi)發(fā)技術(shù)的日益發(fā)展,jQuery作為一種非常常用的JS框架,被越來(lái)越多的開(kāi)發(fā)者所接受和使用。在實(shí)現(xiàn)前端頁(yè)面的時(shí)候,很多情況下需要遍歷JSON對(duì)象,并以樹(shù)狀結(jié)構(gòu)展示出來(lái)。而在jQuery中,可以輕松地實(shí)現(xiàn)這一需求。

首先,我們需要準(zhǔn)備好一個(gè)JSON對(duì)象,它包含了我們需要展示的數(shù)據(jù)。假設(shè)我們的JSON對(duì)象如下:

var treeData = [
{
"name": "Fruit",
"type": "folder",
"children": [
{
"name": "apple",
"type": "item"
},
{
"name": "orange",
"type": "item"
}
]
},
{
"name": "Vegetable",
"type": "folder",
"children": [
{
"name": "carrot",
"type": "item"
},
{
"name": "broccoli",
"type": "item"
}
]
}
];

接下來(lái),我們使用jQuery來(lái)遍歷這個(gè)JSON對(duì)象,并將它轉(zhuǎn)化為樹(shù)狀結(jié)構(gòu)。代碼如下:

function buildTree(el, data) {
var markup = '<ul>';
$.each(data, function(index, item) {
markup += '<li>';
if(item.type === 'folder') {
markup += '<div class="folder">' + item.name + '</div>';
markup += buildTree('<ul>', item.children);
} else {
markup += '<div class="item">' + item.name + '</div>';
}
markup += '</li>';
});
markup += '</ul>';
return el.append(markup);
}
buildTree($('#tree'), treeData);

在這段代碼中,我們定義了一個(gè)名為buildTree的函數(shù),它接受兩個(gè)參數(shù),一個(gè)是需要生成樹(shù)狀結(jié)構(gòu)的目標(biāo)元素(el),另一個(gè)是包含數(shù)據(jù)的JSON對(duì)象(data)。我們使用jQuery的each方法遍歷JSON對(duì)象中的數(shù)組,根據(jù)type屬性的值來(lái)判斷是文件夾還是文件,并在對(duì)應(yīng)的節(jié)點(diǎn)上添加相應(yīng)的class名和文本內(nèi)容。對(duì)于文件夾類型,我們使用遞歸的方式生成內(nèi)部的節(jié)點(diǎn)樹(shù)。

最后,我們將生成的樹(shù)狀結(jié)構(gòu)插入到目標(biāo)元素中,完成了整個(gè)過(guò)程。