javascript以获取网页中选定文本的上一段

javascript以获取网页中选定文本的上一段,javascript,paragraph,selectedtext,Javascript,Paragraph,Selectedtext,您好,我想我有功能,以获得选定的文本段落 此函数用于获取选定文本的当前段落 function getSelected() { var userSelection; if (window.getSelection) { selection = window.getSelection(); } else if (document.selection) { selection = document.selection.createRange(); } var

您好,我想我有功能,以获得选定的文本段落

此函数用于获取选定文本的当前段落

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

}
如何在网页中获取所选文本的下一个上一段。如果我有函数获取上面的当前段落。(我想使用nextSibling,但我不知道如何在上面的代码中实现它) 你能帮我吗


-谢谢-

您可以使用previousSibling和nextSibling获取参数

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>

如果我在所选文本的上一个和下一个中获取单词是否可能?这在IE中不起作用,IE的selection和TextRange对象没有
anchorNode
属性。如果我使用此函数获取位于不同段落中的单词是否可能?是的,通过使用innerHTML,您可以跟踪不同段落中的单词
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);
  }
}