Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取jQuery()选择的默认(?)元素_Javascript_Jquery - Fatal编程技术网

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()——我不知道这个。或者您是指本机js
outerHTML
(它不是函数)吗?您想要默认选择的元素吗?还是唯一的元素?如果“默认元素”是指“集合中的第一个元素”,那么
[0]
就可以了。究竟是什么问题?
combo[0]
combo.get(0)
都是获取包装DOM元素的可接受方法。如果您的目标只是生成HTML字符串,那么为什么要使用jQuery呢?什么是outerHTML()——我不知道这个。或者您是指本机js
outerHTML
(它不是函数)吗?您想要默认选择的元素吗?还是唯一的元素?如果“默认元素”是指“集合中的第一个元素”,那么
[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 );