2009-05-21

[JavaScript] 取得選取範圍中的連結

getSelection 這個函數雖然可以取得使用者選取的文字,但要取得所選取的元素時,要用反向的方式去處理。

簡單的說 Selection 並沒有直接提供元素取得的方法,必須透過查驗元素是否在選取範圍內的方式,去找尋被選取的元素。


// 頁面選取的物件
var selection=window.getSelection();

// 取得頁面中所有的連結元素
var links=document.links;

// 掃瞄所有的連結元素
for(var i=0,l=links.length; i<l; i++){
// 檢查連結元素是否在選取的範圍裡
if(selection.containsNode(links[i],true)){
console.log(links[i]);
}
}

0 回應: