JS实现选定指定HTML元素对象中指定文本内容功能

该功能用处多多,可以灵活运用之!主要函数如下:

//选中文本中指定部分 function selectSomeText(obj,start,end){ if(document.selection){ if(obj.tagName=='TEXTAREA'){ var i=obj.value.indexOf("\r",0); while(i!=-1&&i<end){ end--; if(i<start){ start--; } i=obj.value.indexOf("\r",i+1); } } var range=obj.createTextRange(); range.collapse(true); range.moveStart('character',start); if(end!=undefined){ range.moveEnd('character',end-start); } range.select(); }else{ obj.selectionStart=start; var sel_end=end==undefined?start:end; obj.selectionEnd=Math.min(sel_end,obj.value.length); obj.focus(); } }

然后调用之,For example:

selectSomeText(document.getElementById('jiu_textarea'),2,8) //选中ID为jiu_textarea内的第2至8个字!

完整示例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <script type="text/javascript" language="javascript" > //选中文本中指定部分 function selectSomeText(obj,start,end){ if(document.selection){ if(obj.tagName=='TEXTAREA'){ var i=obj.value.indexOf("\r",0); while(i!=-1&&i<end){ end--; if(i<start){ start--; } i=obj.value.indexOf("\r",i+1); } } var range=obj.createTextRange(); range.collapse(true); range.moveStart('character',start); if(end!=undefined){ range.moveEnd('character',end-start); } range.select(); }else{ obj.selectionStart=start; var sel_end=end==undefined?start:end; obj.selectionEnd=Math.min(sel_end,obj.value.length); obj.focus(); } } </script> </head> <body> <textarea rows="15">欢迎访问脚本之家https://www.jb51.net</textarea> <script type="text/javascript" language="javascript" > selectSomeText(document.getElementById('jiu_textarea'),2,8)//选中ID为jiu_textarea内的第2至8个字! </script> </body> </html>

运行效果图如下:

JS实现选定指定HTML元素对象中指定文本内容功能

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwgdyy.html