JQuery追加stange行为

我无法解释这个.append()行为……

 var listTopic = $.parseJSON(data); for(i = 0; i < listTopic.length ; i++) { $('#idSelect').append('').append(listTopic[i].name).append(''); } 

输出:

  value1  value2 

由于您要插入的部分标签,浏览器似乎会自动插入关闭/打开标签。

您可以使用以下代码:

 var listTopic = $.parseJSON(data); for(i = 0; i < listTopic.length ; i++) { $('#idSelect').append(''); } 

或者,您也可以使用:

 var listTopic = $.parseJSON(data); for(i = 0; i < listTopic.length ; i++) { $('#idSelect').append($('').text(listTopic[i].name)); } 

如果要同时设置value /文本:

 var listTopic = $.parseJSON(data); for(i = 0; i < listTopic.length ; i++) { $('#idSelect').append($('').val(listTopic[i].name).text(listTopic[i].name)); }