Javascript 获取jQuery()选择的默认(?)元素
我相信有一个简单的解决办法 开始的场景如下。 我创建一个Javascript 获取jQuery()选择的默认(?)元素,javascript,jquery,Javascript,Jquery,我相信有一个简单的解决办法 开始的场景如下。 我创建一个元素并动态填充它: function CreateDropDown(name, id, optionList) { var combo = $("<select></select>").attr("id", id).attr("name", name); $.each(optionList, function (i, item) { combo.append("<option
元素并动态填充它:
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;
}
但我觉得对数组进行索引非常粗糙。至少在jQuery()函数返回单个元素数组的所有情况下
问题
每当jQuery()函数返回单个元素数组时,是否可以在不使用数组索引的情况下获取唯一元素
使用.get()
获取html元素
使用.get()
获取html元素
jQuery对象本质上是DOM对象的集合,没有语法方法将jQuery对象视为单个项的包装器
jQuery文档建议使用访问单个DOM元素。它没有评论索引操作符和
.get()
之间的性能差异,但它确实说“每个jQuery对象也伪装成一个数组”,因此可以假设索引操作符只是添加了另一个方法调用。jQuery对象本质上是DOM对象的集合,并且没有语法方法将jQuery对象视为单个项的包装器
jQuery文档建议使用访问单个DOM元素。它没有评论索引操作符和.get()
之间的性能差异,但它确实说“每个jQuery对象也伪装成一个数组”,因此可以假设索引操作符只是添加了另一个方法调用。如果您“觉得对数组进行索引非常粗糙”,您可以编写自己的尼斯助手方法。类似于:
window.$$ = function(){
return jQuery.apply(jQuery,arguments)[0];
}
用法:
var组合=$$(“”);
console.log(combo.outerHTML);
如果您“觉得对数组进行索引非常粗糙”,您可以编写自己的nice helper方法。类似于:
window.$$ = function(){
return jQuery.apply(jQuery,arguments)[0];
}
用法:
var组合=$$(“”);
console.log(combo.outerHTML);
take?什么是outerHTML()——我不知道这个。或者您是指本机jsouterHTML
(它不是函数)吗?您想要默认选择的元素吗?还是唯一的元素?如果“默认元素”是指“集合中的第一个元素”,那么[0]
就可以了。究竟是什么问题?combo[0]
或combo.get(0)
都是获取包装DOM元素的可接受方法。如果您的目标只是生成HTML字符串,那么为什么要使用jQuery呢?什么是outerHTML()——我不知道这个。或者您是指本机jsouterHTML
(它不是函数)吗?您想要默认选择的元素吗?还是唯一的元素?如果“默认元素”是指“集合中的第一个元素”,那么[0]
就可以了。究竟是什么问题?combo[0]
或combo.get(0)
都是获取包装DOM元素的可接受方法。如果您的目标只是生成HTML字符串,为什么还要使用jQuery?谢谢您的回答。但是combo.get()也返回一个数组。正如jbabey所评论的,我必须为它编制索引。如果您一直只需要第一个元素,则可以使用.first()或.get(0)或[0]。JQuery对象只是html元素的数组。谢谢你的回答。但是combo.get()也返回一个数组。正如jbabey所评论的,我必须为它编制索引。如果您一直只需要第一个元素,则可以使用.first()或.get(0)或[0]。JQuery对象只是html元素的数组。
var combo = $$("<select></select>");
console.log( combo.outerHTML );