Доступ к тексту в тегах с помощью jQuery - PullRequest
0 голосов
/ 19 февраля 2011


У меня есть несколько html-структур, подобных этой:

<div id="some_id" class="bio"> 
  <h3><img src="some.jpg" alt="alt_text" /><br /> 
  <a name="Name"></a></h3> 
  <div class="bio_info"> 
     <h3 class="bio_name">NAME TEXT</h3> 
       <p>BIO TEXT</p> 
       <div class="add_bio">MORE BIO</div> 
  </div> 
  <p><span class="add_bio_toggle">more</span></p> 
</div> 

, и я зацикливаюсь на них, получая к ним доступ с помощью переменной 'this'.Как правильно получить доступ к тексту, который я прописал (ИМЯ ТЕКСТ, БИО ТЕКСТ, БОЛЬШЕ БИО)?Я пробовал варианты

var bio.name = $('.bio_info.bio_name', this).html();

безрезультатно.Что мне не хватает?

[example code]  
   //get the national leadership, by column  
    $('#national_leadership .left_col .bio').each(function(){  
        //create new object to add to nat_leadership array  
      var bio = new Object();  
      bio.id = $(this).attr('id');   
      bio.name = $('.bio_info', this).find('.bio_name').text();
      ...

, который находит идентификатор в порядке, но возвращает пустую строку для имени.

Ответы [ 3 ]

1 голос
/ 19 февраля 2011

Изменить после обновления ОП:

Пример с each:

$(".bio").each( function()
{
    var bio_name = $(this).find(".bio_name").text()
    var bio_text = $(this).find(".bio_name").next().text());
    var more_bio = $(this).find(".add_bio").text());
});
0 голосов
/ 19 февраля 2011

Это перебирает элементы в элементе bio_info div и предупреждает содержимое, если это текстовый узел (вы, вероятно, захотите сделать что-то еще, кроме предупреждения):

$(function() {
    $(".bio_info").contents().filter(function() {
        if(this.nodeType == 1) {
            alert($(this).text());
        }
    });
});
0 голосов
/ 19 февраля 2011

Это должно работать

$('.bio_name').text();  

если вы просматриваете цикл, вы можете использовать

$(this).text()

тогда, пожалуйста, смотрите ... jquery find ()

http://api.jquery.com/find/

$('bio).find('.bio_name').text();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...