2010-12-02 4 views
0

bonjour je veux avoir la fonction pour obtenir le paragraphe du texte sélectionné.javascript pour obtenir le paragraphe précédent-suivant du texte sélectionné dans la page Web

c'est la fonction pour obtenir le paragraphe actuel du texte sélectionné

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); 

} 

comment puis-je obtenir le paragraphe suivant, précédent du texte sélectionné dans la page web. si j'ai une fonction pour obtenir le paragraphe actuel ci-dessus. (je pense utiliser nextSibling mais je ne sais pas l'implémenter dans le code ci-dessus) pouvez-vous m'aider?

-Merci vous-

Répondre

0

Vous pouvez utiliser previousSibling et nextSibling pour obtenir des paramètres.

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

est-il possible si je reçois le mot précédent et suivant du texte sélectionné ?? – user495688

+0

Cela ne fonctionnera pas dans IE, dont les objets de sélection et TextRange n'ont pas de propriété 'anchorNode'. –

+0

est-il possible si j'utilise cette fonction pour obtenir le mot qui se trouve dans un paragraphe différent? – user495688

Questions connexes