JavaScript, чтобы получить следующий предыдущий абзац из выбранного текста на веб-странице
-
30-09-2019 - |
Вопрос
Здравствуйте, я хочу, чтобы у меня есть функция, чтобы получить абзац выбранного текста.
Это функция, чтобы получить текущий абзац выбранного текста
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);
}
}
Не связан с StackOverflow