JQuery追加异常行为

JQuery append stange behavior

本文关键字:异常 追加 JQuery      更新时间:2024-01-13

我无法解释.append()的行为。。。

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

输出:

<option></option>
value1
<option></option>
value2

由于插入了分部标记,浏览器似乎正在自动插入关闭/打开标记。

您可以使用以下内容:

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

或者,您也可以使用:

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

如果您想同时设置value/文本:

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