2009-05-28 53 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'); 
相关问题