Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2022, 11:32
Новичок на форуме
Отправить личное сообщение для calebelt Посмотреть профиль Найти все сообщения от calebelt
 
Регистрация: 28.02.2013
Сообщений: 4

Получить содержимое тега из текста
Добрый день!
Подскажите пожалуйста как получить из текста тег и его содержимое?
К примеру я хочу получить всё что внутри тега pagination:
var mytext='<div class="tratata"><h1>sdgljsdg</h1><p>fdgkdfglkjdflgkj</p></div><div class="pagination"><div class="num">1</div><div class="num">2</div><div class="num">3</div></div><div class="tratata2"><h1>sdgljsdg</h1><p>fdgkdfglkjdflgkj</p></div>';
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2022, 12:15
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Непосредственно из текста трудно - надо писать свой парсер.
Проще создать элемент, всавить в него этот html код, а потом взять нужную часть
Так, например
const mytext=`<div class="tratata"><h1>sdgljsdg</h1><p>fdgkdfglkjdflgkj</p></div><div class="pagination"><div class="num">1</div><div class="num">2</div><div class="num">3</div></div><div class="tratata2"><h1>sdgljsdg</h1><p>fdgkdfglkjdflgkj</p></div>`;

const tmp = document.createElement('template');
tmp.innerHTML = mytext;
const fr = tmp.content;
const epag = fr.querySelector('.pagination');
const res = epag.innerHTML;
console.log(res);
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2022, 12:33
Новичок на форуме
Отправить личное сообщение для calebelt Посмотреть профиль Найти все сообщения от calebelt
 
Регистрация: 28.02.2013
Сообщений: 4

Нашёл следующее решение с использованием DOMParser().
Посмотрел совместимость вроде подходит под все современные браузеры.
Написал код, вроде пока работает, возможно кому-то пригодится как пример (в мобильных браузерах ещё не испытывал).
//AJAX пагинация для Joomla
function ajaxLoadBlogItems(){
	var nextPageLink='';
//Проверяю что на странице есть ссылка на следующую страницу и если есть то беру оттуда значение, а саму пагинацию удаляю
	if(d.querySelector('section.blog .pagination-next a')){
		nextPageLink=d.querySelector('section.blog .pagination-next a').getAttribute('href');
		d.querySelector('section.blog .pagination').remove();
	}
	d.querySelector('#ajax-load-pages').addEventListener('click',function(){
//По клику на кнопку загружаю целиком страницу которую получил по ссылке выше
		if(nextPageLink.length>0){
			if (nextPageLink.indexOf('&tmpl=component') < 0) {
				nextPageLink += '&tmpl=component';
			}
			var blogReq=new XMLHttpRequest();
			blogReq.open('GET', nextPageLink,false);
			blogReq.onreadystatechange = function(){
				if(blogReq.readyState === XMLHttpRequest.DONE && blogReq.status === 200) {
//Выдёргиваю нужные куски из responcseText (а там страница целиком) и помещаю в конец блога.
					var parser = new DOMParser();
					var ajaxDoc = parser.parseFromString(blogReq.responseText, "text/html");
					ajaxDoc.querySelectorAll('.blog-item').forEach(function(bitem){
						d.querySelector('section.blog .items-container').append(bitem);
					});
					if(ajaxDoc.querySelector('section.blog .pagination-next a')){
						nextPageLink=ajaxDoc.querySelector('section.blog .pagination-next a').getAttribute('href');
					} else {
						d.querySelector('#ajax-load-pages').style.display='none';
					}
				}
			}
			blogReq.send();
		}
	});
}
//Пока работает. Возможно что-то неправильно сделал, но я в JS откровенный слабак :)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить содержимое файла xml по урлу MC-XOBAHCK Общие вопросы Javascript 10 30.11.2018 12:04
Как с помощью скрипта высчитать ширину полосы прокрутки? LADYX Элементы интерфейса 35 13.11.2017 12:50
Как получить содержимое тега script vanpitkinobi@yandex.ru Events/DOM/Window 2 14.04.2016 14:10
Получить содержимое фрейма sanya42rus4 Общие вопросы Javascript 2 25.05.2013 19:27
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35