哪个是更好的追加选择?

时间:2012-02-22 05:27:53

标签: jquery select

$('#selectID').append($('<option></option>').val(val).html(text));
$('#selectID').append('<option value="'+val+'">'+text+'</option>');

其中val =循环期间的值,text = data。 哪个是更好的追加方式? 如果有大量数据,两者之间的性能差异是什么?

4 个答案:

答案 0 :(得分:1)

在我看来later one更好,如果您使用\'的组合,也不需要使用"字符。你可以直接将其作为

$('#selectID').append('<option value="'+val+'">'+text+'</option>');

答案 1 :(得分:0)

第二种方式自然更快,因为您没有创建对象并在其上执行jQuery方法。

我还认为第二种方式更具可读性,尽管这有点值得商榷。

答案 2 :(得分:0)

我更喜欢这种方法,因为对我来说“更好”的是可读性:

$('<option />').val(val).text(text).appendTo('#selectID');

它看起来更干净,看起来不像lisp。

答案 3 :(得分:0)

如果只是文字和价值,我认为会更好

$("#selectID").append(new Option("text", "value"));

如果您需要将id或其他内容设置为选项

$("#selectID").append($(new Option("text", "value")).attr("id", "id123"));