Jquery - получить Div HTML из строки - PullRequest
3 голосов
/ 13 января 2012

У меня есть строка, содержащая HTML, в том числе несколько div.Мне нужно получить html от одного из тех div, у которого есть класс .image-desc.

Я думал, что смогу сделать следующее, но это не работает:

$('<div class="image-title">Title</div><div class="image-desc">Description</div>').find('.image-desc').html();

Есть идеи, как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 13 января 2012

Проблема в том, что .find () будет искать дочерние элементы, а не элементы в текущем объекте jQuery.

Используйте .filter () для фильтрациитекущий выбор:

$('<div class="image-title">Title</div><div class="image-desc">Description</div>')
    .filter('.image-desc').html();

Рабочий пример на jsfiddle

1 голос
/ 13 января 2012

То, что вы пишете

$('<div class="image-title">Title</div><div class="image-desc">Description</div>')

создаст объект jQuery, содержащий два элемента div.Так что

$('<div class="image-title">Title</div><div class="image-desc">Description</div>').each(function(){
        if($(this).hasClass('image-desc')){
             //do whatever you want
        }
})

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

РЕДАКТИРОВАТЬ: @ Дидье Гиса ответ точнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...