2012-02-25 70 views
0

getselection();中的文本如何用作jQuery中的選擇器。使用getselection作爲選擇器?

一些類似這樣的,但是這並不鐵鍋:

var sel = window.getselection(); 
$(sel).wrap('<div class=\"onetwothree\"></div>'); 

回答

0

的.wrap目的,它的東西包裹在jQuery中選定的項目。 由於sel是文本的選擇,而不是有效的jQuery選擇器,因此您可以執行以下操作:

首先找到用戶獲得的文本選擇。 然後您找到該文本的容器並獲取它的html。 完成之後,您可以使用split函數將字符串拆分爲2個索引的數組。拆分字符串應該是選擇。然後,您會看到選區左側的內容以及右側的內容。

現在你可以在陣列結合了您wan't包裹我們什麼,對於一個例子:

var splittedContent = ['leftside', 'rightside']; 

var newStr = splittedContent[0]+'<div class="somediv">'+yourSelection+'</div>'+splittedContent[1]; 

$('.container').html(newStr); 

這會採取什麼樣的左側,並與周圍的選擇的包裝DIV結合起來,並然後在最後放棄選擇的權利。然後它將然後將HTML設置回到我們從中取得HTML的元素

希望這給了你帶頭繼續:)