2015-10-25 5 views
0

Я пытаюсь получить синтаксический анализ HTML-документа.HTML Parsing с использованием javaScript

это HTML:

<h1> 
<span class="memName fn" itemprop="name">Ankur Arora</span> 
<span class="display-none" itemprop="image">http://photos1.meetupstatic.com/photos/member/3/8/f/8/member_249974584.jpeg</span> 
<span class="display-none" itemprop="url">http://www.meetup.com/Meetup-API-Testing/members/191523682/</span> 
</h1> 

Мне нужно, чтобы получить изображение и имя.

Стараюсь этот код:

var name = document.querySelector("memName fn").name; 

Любой человек может мне помочь? Я новичок в JavaScript ...

Благодарности

+0

Вы хотите получить внутренний текст целевых элементов? –

+0

@JeroenBellemans да !! – benhi

ответ

1

Чтобы получить внутренний текст, вы можете использовать функцию text(), как это:

HTML:

<span class="memName fn">Ankur Arora</span> 

Jquery:

var memName = $(".memName").text(); 
console.log(memName); // Via console log 
alert(memName); // Alert it 
+0

Здравствуйте, Jeroen Bellemans, за ваш ответ ... , пожалуйста, см. Комментарий в ответ Криса Брейкса ... – benhi

+0

Так что же это за проблема? –

+0

есть возможность без jquery? – benhi

1

Это легко с jQuery. Просто включите его на странице:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 

Затем используйте .text() или .html() извлечь содержимое span -элементов

var pictureLink = $("span[itemprop='image']").text(); 
//.html() also gets the html-elements inside 
var name = $("span[itemprop='name']").html(); 

https://jsfiddle.net/bh9mebru/

+0

Привет Крис Брейкс, спасибо за ваш ответ, но его не работает ... сначала мне нужно искать класс на странице нет? – benhi

+0

Я не могу придумать, почему это не сработает (см. Jsfiddle-link). Вы получаете ошибки javascript? Вообще говоря: вы можете обращаться к элементам по-разному. например, по id, по имени класса, по положению относительно других элементов или в этом случае по вашему уникальному атрибуту 'itemprop'. хорошим способом отладки вашего скрипта является передача данных с помощью 'console.log (« data »)' на жизненно важных позициях. –

+0

возможен без jquery? – benhi

0

Вы также можете использовать innerHTML, чтобы получить текст.

<span id="memId" class="memName fn">Ankur Arora</span> 

document.getElementsByClassName («memName») - Это даст список элементов, имеющих класс «memName»

Чтобы получить внутренний текст первого элемента использовать document.getElementsByClassName('memName')[0].innerHTML

или доступ по идентификатору ,

document.getElementById('memId').innerHTML 
Смежные вопросы