Jquery 为什么这个Ajax ID选择器返回一个数组?

Jquery 为什么这个Ajax ID选择器返回一个数组?,jquery,Jquery,根据定义,具有给定ID的页面上只能有一个控件 此语句设置单个控件的值: document.getElementById("ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").value = "1"; 为什么需要“[0]” $("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation")[0].value = "1"; 为了一致性。即使id名义上对应于单个元素,其他jQue

根据定义,具有给定ID的页面上只能有一个控件

此语句设置单个控件的值:

document.getElementById("ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").value = "1";
为什么需要“[0]”

$("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation")[0].value = "1";

为了一致性。即使
id
名义上对应于单个元素,其他jQuery选择器也可能返回多个结果。为了保持冷静和可预测,所有jQuery结果最终都会被收集起来。

以保持一致性。即使
id
名义上对应于单个元素,其他jQuery选择器也可能返回多个结果。为了保持冷静和可预测性,所有jQuery结果都会以集合的形式结束。

执行此操作时:

$("ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation")[0]

您正在访问实际的DOM元素,该元素具有可用的
属性

如果改用jQuery的
val()
方法,则不需要:

$("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").val('1')

因此,当您希望访问元素的本机方法/属性时,部分是必需的,而不是其他方式。

执行此操作时:

$("ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation")[0]

您正在访问实际的DOM元素,该元素具有可用的
属性

如果改用jQuery的
val()
方法,则不需要:

$("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").val('1')

因此,当您希望访问元素的本机方法/属性时,而不是以其他方式访问时,
[index]
部分是必需的。

正确的代码是:

$("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").val() = 1;
正确的代码是:

$("#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation").val() = 1;
从:

jQuery对象包含从HTML字符串创建或从文档中选择的文档对象模型(DOM)元素的集合。由于jQuery方法通常使用CSS选择器来匹配文档中的元素,因此jQuery对象中的元素集通常称为“匹配元素”集或“选定元素”

jQuery对象本身的行为很像一个数组;它具有长度属性,对象中的元素可以通过其数值索引[0]到[length-1]进行访问。请注意,jQuery对象实际上不是Javascript数组对象,因此它没有真正数组对象(如join()的所有方法)

与您的问题最相关的部分是“jQuery对象中的元素集通常被称为一组“匹配元素”或“选定元素”。

来自:

jQuery对象包含从HTML字符串创建或从文档中选择的文档对象模型(DOM)元素的集合。由于jQuery方法通常使用CSS选择器来匹配文档中的元素,因此jQuery对象中的元素集通常称为“匹配元素”集或“选定元素”

jQuery对象本身的行为很像一个数组;它具有长度属性,对象中的元素可以通过其数值索引[0]到[length-1]进行访问。请注意,jQuery对象实际上不是Javascript数组对象,因此它没有真正数组对象(如join()的所有方法)


与您的问题最相关的部分是“jQuery对象中的元素集通常称为一组“匹配元素”或“选定元素”。

我不知道这段代码是从哪里来的,但根据我的经验,“[0]”实际上根本不需要。
在这个代码行中,让我好奇的是,你想用“.value=1”做什么。jQuery中的“value”属性是由函数.val()操作的-

我不知道这段代码是从哪里来的,但根据我的经验,“[0]”实际上根本不需要。
在这个代码行中,让我好奇的是,你想用“.value=1”做什么。jQuery中的“value”属性是由函数操作的。val()-

一些HTML好吗?即使只返回一个结果,具有相同IDjQuery的2个元素也可以始终返回类似数组的对象。我认为您的示例缺少元素id的
#
;e、 g.
$(“#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation”)
。请给我一些HTML?即使只返回一个结果,具有相同IDjQuery的2个元素也可以始终返回类似数组的对象。我认为您的示例缺少元素id的
#
;e、 g.
$(“#ctl00_phPageContent_dtmVisitChinaFrom_txtSkipValidation”)