我有这个烦人的问题,我似乎无法在textarea中获取所选文本的起始和结束索引,我得到的所有内容都是这样的:
$('#myarea').selectionStart; // return undefined
我做错什么了吗?
尝试:
$('#myarea')[0].selectionStart;
为什么?jQuery选择器不返回实际的DOM元素,而是返回包装的jQuery集合.jQuery使实际的DOM元素可以作为一个数组访问,所以如果你想使用第一个匹配的元素(在这种情况下,只有一个,因为它是由ID),你可以做到这一点.
从jQuery 1.6开始,你可以使用.prop()方法:
得到:
// always start at 0 var start = $('#myarea').prop('selectionStart'); var end = $('#myarea').prop('selectionEnd');
组:
$('#myarea').prop('selectionStart', 10); $('#myarea').prop('selectionEnd', 15); // or short hand by $('#myarea').prop({ 'selectionStart': 10, 'selectionEnd': 15 });