Задать вопрос
  • Как спарсить данные в JS?

    BRAGA96
    @BRAGA96
    Если Вам нужно получить значения атрибутов или содержимое html тегов, а сам html переставлен у вас в виде строки, то быстрый способ такой:
    var html = '<div class="container"><h1 class="title" data-attr="true" title="test">Title</h1><p class="text">Lorem ipsum dolor sit amet.</p></div>';
    
    var $html = $(html);
    $('h1.title', $html).text(); //> Title
    $('h1.title', $html).attr('data-attr'); //> true
    $('h1.title', $html).data('attr'); //> true


    Есть еще jQuery метод $.parseHTML:
    var $html = $.parseHTML(html);

    И его аналог на Plain Javascript:
    function parseHTML(string) {
    	var template = document.implementation.createHTMLDocument();
    	template.body.innerHTML = string;
    	return template.body.children;
    }
    
    var html = parseHTML('<div class="container"><h1 class="title" data-attr="true" title="test">Title</h1><p class="text">Lorem ipsum dolor sit amet.</p></div>')[0];
    html.querySelector('.title').getAttribute('data-attr'); //> "true"
    Ответ написан
    Комментировать