问问题
111 次
5 回答
3
.text()
方法将textContent
所有选定元素作为一个字符串返回,您可以使用.map()
返回数组的方法来代替:
var picker = $('.pick').map(function(i, elem) {
return "<option value='"+i+"'>" +
(elem.textContent || elem.innerText) + // == $(elem).text()
"</option>";
}).get(); // array of options (string)
$('#pingList').append(picker);
于 2013-09-13T11:07:16.633 回答
1
这是另一个解决方案,使用$.each()
:
$.each($('.pick'),function(i, elem){
$('#pingList').append( "<option value='"+i+"'>"+ $(elem).text() +"</option>");
});
于 2013-09-13T11:13:53.957 回答
1
$('.pick').each(function(){
$('#pinglist').append(""+$(this).text()+"");
});
这应该适用于上述情况。
于 2013-09-13T11:14:22.727 回答
1
您可以像这样实现相同的目标。无需制作数组。
$.each($('.pick'), function (val, text) {
$('#pingList').append($('<option></option>').val($(this).text()).html($(this).text()));
});
JSFiddle 相同http://jsfiddle.net/sushilbharwani/uNpND/
于 2013-09-13T11:11:01.040 回答
1
我已经在你的演示页面中更新了.. @ http://jsfiddle.net/UUY5Z/7/
$(".pick").each(function(){
var val = $(this).text();
$('<option>').val(val).text(val).appendTo('#pingList');
});
于 2013-09-13T11:14:54.887 回答