2009-09-25 33 views
2

我有html標籤文本的某些部分,例如用javascript改變部分文本的背景顏色?

<b>something</b> 

我選擇的文字,例如「一些」的某些部分。

with getSelection()。getRangeAt(0);我得到插入符號(textcursor)的位置,所以我知道我選擇的文本的哪一部分。

我有startOffset和endOffset。但問題是,開始偏移和endOffset忽略HTML標記,所以數字,它的回報是不壞,然後我不知道哪個文本的一部分,我必須申請

<span style="background-color: somecolor ">some</span> 

任何的IDE如何解決這個?感謝

+0

剛剛發現這一點,要讀,也許會幫助http://www.quirksmode.org/dom/range_intro.html – 2009-09-25 09:36:45

回答

1
<b id='str1'>something</b> 
<script> 
function jsReplace() 
{ 
    var elem = document.getElementById('str1') 
    elem .innerHTML = elem .innerHTML.replace('some', '<span style="background-color: somecolor ">some</span>') 

} 
</script> 
+0

是的,但你會怎麼做,如果沒有ID在那個標籤? – 2009-09-25 09:37:45

+0

你如何得到你的字符串和從哪個控件? – Khodor 2009-09-25 12:02:31

+0

與選擇和範圍,用戶用鼠標選擇文本 – 2009-09-25 12:04:10