使用jQuery选中时,如何获取元素的常规属性?

时间:2011-06-19 20:37:44

标签: javascript jquery attributes

我有一个使用jQuery选择的textarea,我想在其中找到光标的位置。我发现在普通的JavaScript中,您可以使用.selectionStart执行此操作,但执行$("#maintext").selectionStart会导致undefined

我该怎么做?

3 个答案:

答案 0 :(得分:5)

selectionStart是本机DOM属性,请尝试以下操作:

var selStart = $('#maintext').get(0).selectionStart;

发生这种情况的原因是$('#maintext')返回jQuery包装的DOM对象数组,并且为了调用本机方法,您需要获取底层元素。

答案 1 :(得分:3)

在这种情况下,可能只会这样做:

document.getElementById("maintext").selectionStart

并没有创建新jQuery对象的开销。

答案 2 :(得分:0)

在jQuery 1.6中,您可以使用prop()。在旧版本中,可以使用attr()

$("#maintext").prop("selectionStart");

但是,IE< IE中不支持selectionStartselectionEnd属性。 9.我已经发布了一个跨浏览器函数,可以在Stack Overflow上的几个地方使用它(例如,here),或者你可以使用我的jQuery plug-in来处理textarea /文本输入选择。