我有3个变量,其中包含逗号分隔值的字符串(我不知道有多少)我想要组合成jQuery对象.
"name1,name2,name3,nameN"
"value1,value2,value3,valueN"
"id1,id2,id3,idN"
Run Code Online (Sandbox Code Playgroud)
至:
var item1 = { name: name1, value: value1, id: id1 };
var item2 = { name: name2, value: value2, id: id2 };
var item3 = { name: name3, value: value3, id: id3 };
var itemN = { name: nameN, value: valueN, id: idN };
Run Code Online (Sandbox Code Playgroud)
然后迭代每个项目上的操作,例如附加一个列表:
<h3>items</h3>
<ul>
<li>item1</li>
<ul>
<li>value: <b>value1</b></li>
<li>id: <b>id1</b></li>
</ul>
[...]
<li>itemN</li>
<ul>
<li>value: <b>valueN</b></li>
<li>id: <b>idN</b></li>
</ul>
<ul>
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
jfr*_*d00 11
您可以像这样构建一个项目数组:
var names = "name1,name2,name3,nameN";
var values = "value1,value2,value3,valueN";
var ids = "id1,id2,id3,idN";
var namesArray = names.split(",");
var valuesArray = values.split(",");
var idsArray = ids.split(",");
var item, items = [];
for (var i = 0; i < namesArray.length; i++) {
item = {};
item.name = namesArray[i];
item.value = valuesArray[i];
item.id = idsArray[i];
items.push(item);
}
Run Code Online (Sandbox Code Playgroud)
然后,要从中构建HTML,您可以这样做:
var main = $("<ul>");
var str = "";
for (var i = 0; i < items.length; i++) {
str += "<li>" + items[i].name + "</li><ul><li>value: <b>" + items[i].value + "</b></li>";
str += "<li>id: <b>" + items[i].id + "</b></li></ul>";
}
main.html(str);
$(document.body).append("<h3>items</h3>")
$(document.body).append(main);
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到它的工作:http://jsfiddle.net/jfriend00/yWU3L/4/.
| 归档时间: |
|
| 查看次数: |
14463 次 |
| 最近记录: |