下面小編就為大家?guī)硪黄狫avaScript操作選擇對(duì)象的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
JavaScript操作選擇對(duì)象的簡(jiǎn)單實(shí)例
//替換選中文本內(nèi)容,參數(shù)text為要替換的內(nèi)容
function SetSelectionText(text) {
//非IE瀏覽器
if (window.getSelection) {
var sel = window.getSelection();
alert(sel.rangeCount); //選區(qū)個(gè)數(shù), 通常為 1 .
sel.deleteFromDocument(); //清除選擇的內(nèi)容
var r = sel.getRangeAt(0); //即使已經(jīng)執(zhí)行了deleteFromDocument(), 這個(gè)函數(shù)仍然返回一個(gè)有效對(duì)象.
var selFrag = r.cloneContents(); //克隆選擇的內(nèi)容
var frag = selFrag.childNodes; //如果執(zhí)行了deleteFromDocument(), 這個(gè)數(shù)組長(zhǎng)度將會(huì)是 0
for (var i = 0; i < frag.length; i++) {
alert(frag[i].nodeName); //枚舉選擇的對(duì)象
}
var h1 = document.createElement('H1'); //生成一個(gè)插入對(duì)象
h1.innerHTML = text; //設(shè)置這個(gè)對(duì)象的內(nèi)容
r.insertNode(h1); //把對(duì)象插入到選區(qū), 這個(gè)操作不會(huì)替換選擇的內(nèi)容, 而是追加到選區(qū)的后面, 所以如果需要普通粘貼的替換效果, 之前執(zhí)行deleteFromDocument()函數(shù).
}
else if (document.selection && document.selection.createRange) {
//IE瀏覽器
var sel = document.selection.createRange(); //獲得選區(qū)對(duì)象
alert(sel.htmlText); //選擇區(qū)的html文本.
sel.pasteHTML('<h1>標(biāo)題</h1>'); //粘貼到選區(qū)的html內(nèi)容, 會(huì)替換選擇的內(nèi)容.
}
}
以上這篇JavaScript操作選擇對(duì)象的簡(jiǎn)單實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考