从jQuery load()结果中剥离HTML

这是该问题解决方案的后续内容。

我正在使用jQuery的load()函数将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] . ": " . " "; } $articles = implode('
', $arr); return $articles; }

请注意anchor标记中的linked_divlinked_path属性,这些属性在我的jQuery中使用:

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

显然我不能在PHP中的锚标签中剥离HTML标签,因为服务器在加载时没有锚标签内的文本; 所以我假设我需要在load()调用后删除jQuery中的HTML https://stackoverflow.com/questions/10726202/stripping-html-from-jquery-load-result/…这就是我无法弄清楚如何做的事情。 🙂

想要的结果是:

 My headline 

得到的结果是:

 
My headline

希望这是有道理的。 我想我提供了比我需要的更多细节。 谢谢!

.load选择器中向下导航一个级别

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

如果您的news_header ID不唯一,则无法通过该ID进行选择(ID必须是唯一的!)

要解决该问题,请使用以下命令:

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

编辑:
.load实际上包含了追加html时的目标元素,而不是附加目标元素的子元素。 我会转向使用$.get()

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