使用jQuery选择输入内容的一部分

时间:2013-07-10 12:17:10

标签: jquery

这有点没什么问题,但我仍然很好奇为什么以下两行不相同。

$("#boink").selectionStart = 3;
document.getElementById("boink").selectionStart = 3;

工作示例来自this question。出于某种原因,jQuery获取的控件没有属性 selectionStart ,也没有 selectionEnd

如果我仍然要应用jQuery选择器,应该使用什么?

3 个答案:

答案 0 :(得分:4)

那是因为$("#boink")是一个jQuery对象,而不是DOM元素本身。为了使这两行等效,你应该做

$("#boink")[0].selectionStart = 3;

该数组包含所有匹配的DOM元素。由于您是按ID选择的,因此一个元素可以匹配最多,因此您只需使用[0]

选择第一个元素

答案 1 :(得分:2)

您始终可以使用

获取原始DOM元素
$("#boink")[0].selectionStart = 3;

答案 2 :(得分:2)

$("#boink")将返回jQuery对象而不是控件本身。要获得控件,您必须使用.get方法或使用[]表示法获取元素:

$("#boink")[0].selectionStart = 3;
$("#boink").get(0).selectionStart = 3;