这是一道讨论“使用jQuery为select添加option选项的最佳代码方法”。分析哪一种的写法是最佳方法。在stackoverflow上众说纷纷,下面来看看有哪些写法。
第一种使用for循环
var selectValues = { "1": "test 1", "2": "test 2" }; for (key in selectValues) { if (typeof (selectValues[key]) == ‘string‘) { $(‘#mySelect‘).append(‘<option value="‘ + key + ‘">‘ + selectValues[key] + ‘</option>‘); } }
第二种使用append
$.each(selectValues, function(key, value) { $(‘#mySelect‘) .append($(‘<option>‘, { value : key }) .text(value)); });
第三种同样是append,使用了链式写法,可能比上面还慢
$.each(selectValues, function(key, value) { $(‘#mySelect‘) .append($("<option></option>") .attr("value",key) .text(value)); });
第四种使用了push+join的方法,据说是最快的一种方法
var output = []; $.each(selectValues, function(key, value) { output.push(‘<option value="‘+ key +‘">‘+ value +‘</option>‘); }); $(‘#mySelect‘).html(output.join(‘‘));
第五种同时是append,不过把内容作为一个JSON的格式添加。可能比第二种快点。
$.each(selectValues, function(key, value) { $(‘#mySelect‘).append($("<option/>", { value: key, text: value })); });
综合:可以使用第四种,速度比较快。或者使用第五种,清晰明了。
原文链接:jquery为select添加option的代码探讨 版权所有,转载时请注明出处,违者必究。
注明出处格式:前端开发博客 (http://caibaojian.com/add-option-to-select-width-jquery.html)
时间: 2024-10-18 19:16:17