【发布时间】:2018-05-15 12:57:14
【问题描述】:
我正在尝试使用 eq() 方法选择 JQuery 对象的第三个元素。但由于某种原因,第 2 和第 3 选择以更改的顺序弹出:
var selection = $("[name=input0], [name=input1], [name=input2], [name=input3]");
selection.eq(1); //turns out to be input2!!
这种行为的原因可能是什么?我可以相信通过脚本中的索引来访问它吗?
【问题讨论】:
-
顺序不取决于它们被选中的顺序,而是取决于它们在 jQuery 对象中的保存方式,而这又取决于元素在 DOM 中出现的顺序。因此,在这里查看您的 HTML 会有所帮助。
-
Do not post images of code or errors! 图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。如果您发布代码或错误消息的图像,请确保您还复制并粘贴或直接在帖子中输入实际代码/消息。
-
根据 JQuery 文档,“要创建一个具有明确定义的元素顺序且没有排序开销的 jQuery 对象,请使用 $(array_of_DOM_elements) 签名。”
-
@RoryMcCrossan 他们确实出现在 DOM 顺序 (html) 中,放在这里太大了
标签: javascript jquery arrays indexing