jquery遍历民族json数据

index.html中的位置

引进的数组js,含包含民族的js

数组的结构如下
要怎么才能遍历出来显示在index页面中啊,

/*
* 我用是jquery,javascript原生版,看注释掉的代码
*/
//var jsNationNameContent = document.getElementById('nationNameContent');
var nationNameContent = $('#nationNameContent'),
    html=[];
for(var i= 0,len = nationItems.length;i < len; i++){
    var nation = nationItems[i];
    var id = nation.id;
    var name = nation.name;
    //你要生成什么样的格式?我这里就搞个简单的span标签
    //拼装html
    html.push('<span>民族编号:'+id+' </span>');
    html.push('<span>民族名称:'+name+' </span>');
    html.push('<br />');
}
//如果拼装后的html数组元素>0,添加到面面上。
html.length>0 && nationNameContent.append(html.join(''));
//html.length>0 && (jsNationNameContent.innerHTML = html.join(''));

追问

能不能用select那样的表示方法啊

追答/*
* 我用是jquery,javascript原生版,看注释掉的代码
*/
var nationNameContent = $('#nationNameContent');
//一个select,添加到div中
var objSelect = $('<select></select>').appendTo(jsNationNameContent);
//添加一个请选择项
objSelect.append('<option value="">--请选择--</option>');
for(var i= 0,len = nationItems.length;i < len; i++){
    var nation = nationItems[i];
    var id = nation.id;
    var name = nation.name;
    //下拉框就不能拼装成html字符串喽,ie下面有bug.
    objSelect.append('<option value="'+id+'">'+name+'</option>');
}

/****************javascript原生版****************************/
//创建一个select
var selectObj = document.createElement("select");
var jsNationNameContent = document.getElementById('nationNameContent');
//select添加到div中
jsNationNameContent.appendChild(selectObj);
//创建一个option
selectObj.options.add(new Option("--请选择--", ""));
//循环
for(var i= 0,len = nationItems.length;i < len; i++){
    var nation = nationItems[i];
    var id = nation.id;
    var name = nation.name;
    selectObj.options.add(new Option(name, id));
}

追问

我改了你的显示这样,你刚才的那个代码没有正常,估计是我的原因吧,谢谢你啊,可惜财富值不多,真恨百度!!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-08
因为数据已经加载进来,所以只需要在index.html中,for循环遍历,组织好内容再innerHTML进去就可以了。
<script>
var html = [];
for (var i=0; i<nationItems.length; ++i) {
html.push(nationItems[i].name); // 当然,可以加标签啊之类的内容

}
document.getElementById('nationNameContent').innerHTML = html.join(' ');
</script>追问

亲,我对js不熟悉,你能否用jquery写出这样的遍历代码啊

追答

jquery就简单了:

var html = nationItems.map(function(item) {
return item.name;
});
$('#nationNameContent').html(html.join(' '));

相似回答
大家正在搜