我以下列方式使用XML
<categories>
<category id="1">abc</category>
<category id="2">eev</category>
<category id="3">adf</category>
<category id="4">ggt</category>
</categories>
我想循环<categories>
的所有子项并获取id和文本并将其加载到选择框中
我的JQuery看起来像这样
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$.get('getCategoryHandler.ashx', function (d) {
$(d).each(function (index) {
var opt = '<option value="' + $(this).attr("id") + '">' + $(this).text() + '</option>';
$("#catOptions").append($(opt)).trigger("chosen:updated");
});
return false;
});
});
</script>
有了这个,我一次性获得所有文本而不是循环
我使用了find('category'),但它很慢,15类节点需要将近10秒(在IE 11中)
我的剧本有什么问题?
答案 0 :(得分:1)
假设'd'是整个XML Categories节点。你需要遍历子节点而不是“类别”节点本身。 '$ .each()'函数还提供2个参数。索引和对象本身。用它。注意'child'参数。
此外,您正在寻找属性'uuid',但您在此处粘贴的xml只有属性'id'。确保你正在提取正确的属性。
RequireUser