2009-05-28 50 views

回答

5

http://www.sitepoint.com/forums/showthread.php?t=459934

<script type="text/javascript"> 
    function fnSelect(objId) { 
     fnDeSelect(); 
     if (document.selection) { 
     var range = document.body.createTextRange(); 
      range.moveToElementText(document.getElementById(objId)); 
     range.select(); 
     } 
     else if (window.getSelection) { 
     var range = document.createRange(); 
     range.selectNode(document.getElementById(objId)); 
     window.getSelection().addRange(range); 
     } 
    } 

    function fnDeSelect() { 
     if (document.selection) document.selection.empty(); 
     else if (window.getSelection) 
       window.getSelection().removeAllRanges(); 
    } 
    </script> 
<body> 

<div id="test1"> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
</div> 
<div id="test2"> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
    <p>jhsdgfhlsdlfkjsdklgjs</p> 
</div> 
<a href="javascript:fnSelect('test1');">Select 1</a> 
<a href="javascript:fnSelect('test2');">Select 2</a> 
<a href="javascript:fnDeSelect();">DeSelect</a> 
</body> 
+0

不得不嘗試一下。完美工作。 +1 – Stefan 2009-05-28 21:03:17

0

在CSS,你可以創建一個.highlight類

.highlight{ 
    background-color:yellow; 
} 

在JavaScript中,你可以在.highlight類添加到您想強調

<getSpanElement>.className='highlight'; 

那麼該文本被高亮顯示的元素,雖然它沒有被選中。

0

突出顯示或選擇?我想你實際上想選擇不突出顯示。

突出顯示...是!設置span元素的正確CSS屬性,例如前景色和背景色。

編輯:這就是所謂的選擇。對不起,我不知道有什麼辦法可以做到。

+0

堂妹的禮貌時,我說的「選擇」,一些用戶認爲它的意思是「得到的價值。」 – 2009-05-28 20:52:58

1

您需要一些方法來操縱span標記。比如id,但是在javascript中我會編輯一些style屬性。你可以擁有一個你想要突出顯示的內容,如下所示。

.HL { 
    background: #ffff99; 
    color: #000000; 
} 

如果你這樣做,那麼你將需要獲得對特定標籤的引用。

DocumentgetElementsByTagName("title") 

否則Document.getElementByID("ID")適合獨特的ID。 然後使用setAttribute(name, value)將類更改爲給定的類。

這只是一個簡單的例子,但有很多方法可以做到這一點。

<span id="abc" class=""> Sample </span> 
var temp = Document.getelementByID("abc"); 
temp.setAttribute('class', 'HL'); 
相關問題