2010-12-02 18 views
0

Hallo ich will ich habe Funktion, Absatz des ausgewählten Textes zu erhalten.Javascript, um nächsten-vorherigen Absatz des ausgewählten Textes in der Webseite zu erhalten

dies ist die Funktion aktuellen Absatz des ausgewählten Textes

function getSelected() { 
    var userSelection; 
    if (window.getSelection) { 
     selection = window.getSelection(); 
    } else if (document.selection) { 
     selection = document.selection.createRange(); 
    } 
    var parent = selection.anchorNode; 
    parent = parent.parentNode; 
    alert(parent.innerHTML); 

} 

zu bekommen, wie kann ich die nächsten vorhergehenden Absatz ausgewählten Textes in Web-Seite zu bekommen. wenn ich Funktion habe, um den aktuellen Absatz oben zu bekommen. (ich denke, nextSibling zu verwenden, aber ich weiß nicht, um es im Code oben zu implementieren) können Sie mir helfen?

das Ausmaß von du-

Antwort

0

Sie können previousSibling und nextSibling verwenden Parameter zu erhalten.

HTML:

<p> This is 1st paragraph</p> 
<p> This is 2nd paragraph</p> 
<p> This is 3rd paragraph</p> 
<a href="javascript:void(0)" onclick="getSelected(-1)">Prev</a> 
<a href="javascript:void(0)" onclick="getSelected(1)">Next</a> 

Javascript:

function getSelected(direction) { 
    var userSelection; 
    if (window.getSelection) { 
     selection = window.getSelection(); 
    } else if (document.selection) { 
     selection = document.selection.createRange(); 
    } 
    var parent = selection.anchorNode; 
    parent = parent.parentNode; 
    if(direction == -1){ 
    var prevEle = parent.previousSibling; 
    while(prevEle.nodeType!=1){ 
     prevEle = prevEle.previousSibling; 
    } 
    alert(prevEle.innerHTML); 
    }else { 
    var nextEle = parent.nextSibling ; 
    while(nextEle.nodeType!=1){ 
     nextEle = nextEle.nextSibling; 
    } 
    alert(nextEle.innerHTML); 
    } 
} 
+0

ist es möglich, wenn ich das Wort in vorherigen und nächsten ausgewählten Text bekommen ?? – user495688

+0

Dies funktioniert nicht im IE, dessen Auswahl- und TextRange-Objekte keine 'ankerNode'-Eigenschaft haben. –

+0

ist es möglich, wenn ich diese Funktion verwende, um das Wort zu erhalten, das sich in einem anderen Absatz befindet? – user495688