Удаление HTML из результата jQuery load ()

Это продолжение решения этого вопроса.

Я использую функцию load() jQuery, чтобы вытащить заголовок в теге div с одной страницы на другую на моем сайте. Это прекрасно работает.

Проблема в том, что load() также вытягивает сам тег div, который мне не нужен, поскольку он затем форматируется с помощью CSS, как исходная страница.

Вот PHP:

 function get_team_articles($team_id, $feat=0) { . . . while ($row = mysql_fetch_assoc($r)) { $page = explode('_', $row['page_id']); (is_numeric($page[1])) ? $pre = 'wk_' : $pre = ''; $arr[] = $page[0] . " | " . $pre . $page[1] . ": " . " <a linked_div='news_header' linked_path='../news/" . $page[0] . "/" . $pre . $page[1] . "/" . $page[1] . "_" . $page[2] . ".html' href='index.php?view=news&yr=" . $page[0] . "&wk=" . $page[1] . "&pg=" . $page[2] . "'></a>"; } $articles = implode('<br/>', $arr); return $articles; } 

Обратите внимание на linked_div и linked_path в теге привязки, которые используются в моем jQuery:

 function set_team_headlines(){ $('#section-articles > a').each(function() { var a = $(this); a.load(a.attr('linked_path') + ' #' + a.attr('linked_div')); }); } 

Очевидно, что я не могу разбить теги HTML в тегах привязки в PHP, потому что у сервера нет текста в тегах привязки при загрузке; поэтому я предполагаю, что мне нужно снять HTML-код в jQuery после вызова load() … и это то, что я не могу понять, как это сделать. 🙂

В результате я хочу :

 <a href="...">My headline</a> 

В результате я получаю :

 <a href="..."><div id="news_header">My headline</div></a> 

Надеюсь, это имеет смысл. Я думаю, что я представил больше деталей, чем мне нужно. Благодаря!

Перейдите на другой уровень в селекторе .load

 a.load(a.attr('linked_path') + ' #news_header'); 

Если ваш идентификатор news_header не уникален, недопустимо выбирать по этому идентификатору (идентификаторы должны быть уникальными!)

Чтобы обойти эту проблему, используйте это:

 a.load(a.attr('linked_path') + ' #' + a.attr('linked_div') + ' div'); 

Редактировать:
.load фактически включает целевой элемент при добавлении html вместо добавления дочерних элементов целевого элемента. Я $.get() к использованию $.get() .

 $.get(a.attr('linked_path')).done(function(html) { a.text($(html).filter("#news_header").text()); });