JavaScript, чтобы получить следующий предыдущий абзац из выбранного текста на веб-странице

StackOverflow https://stackoverflow.com/questions/4332307

Вопрос

Здравствуйте, я хочу, чтобы у меня есть функция, чтобы получить абзац выбранного текста.

Это функция, чтобы получить текущий абзац выбранного текста

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, но я не знаю, чтобы реализовать его в коде выше) Можете ли вы помочь мне?

-благодарю вас-

Это было полезно?

Решение

Вы можете использовать преобладание и Nextbling, чтобы получить параметры.

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);
  }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top