我确信有一个简单的解决方案。
首发方案如下。
我创建了一个<select>
元素并以动态方式填充它:
function CreateDropDown(name, id, optionList)
{
var combo = $("<select></select>").attr("id", id).attr("name", name);
$.each(optionList, function (i, item) {
combo.append("<option value='"+item.val+"'>" + item.el + "</option>");
});
return combo;
}
目的是提取外部HTML。以下工作正确:
combo[0].outerHTML();
但我觉得索引数组非常粗糙。至少在jQuery()函数返回单个元素数组的所有情况下。
问题
每当jQuery()函数返回单个元素数组时,是否可以获得唯一元素而不进行数组索引?
答案 0 :(得分:3)
jQuery对象本质上是DOM对象的集合,并且没有语法方法将jQuery对象视为单个项目的包装。
jQuery文档建议使用get method来访问各个DOM元素。它没有评论索引操作符和.get()
之间的性能差异,但它确实说“每个jQuery对象也伪装成一个数组”,所以可以假设索引操作符只是添加了另一个方法调用。 / p>
答案 1 :(得分:2)
如果你“觉得索引数组非常粗糙”,你可以编写自己的 nice 辅助方法。类似于:
window.$$ = function(){
return jQuery.apply(jQuery,arguments)[0];
}
用法:
var combo = $$("<select></select>");
console.log( combo.outerHTML );
答案 2 :(得分:1)
使用.get()
获取html元素。