使用jquery load()从外部页面获取h1的内容

时间:2015-12-07 13:42:26

标签: javascript jquery twitter-bootstrap

我有一个mediawiki,我希望将内容从另一个页面中获取。所以我有: http://bourlo.net/wiki/index.php/Lunet

并希望在另一个页面上的bootstrap模式中显示部分内容: http://bourlo.net/stack/

维基页面的标题由以下内容检索:

  $("#wikiModal h4.modal-title")
    .load( "http://bourlo.net/wiki/index.php/Lunet .firstHeading");

有效,是的!但我不想要完整的

<h1 id="firstHeading" class="firstHeading" lang="nl-informal">Lunet</h1>

在模式的<h4>中,但只有内容&gt;&gt;&gt; Lunet

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您需要使用其他ajax方法。例如:

$.get("http://bourlo.net/wiki/index.php/Lunet", function(html){
    var txt = $(html).find('.firstHeading').text();
    $("#wikiModal h4.modal-title").text(txt);
});

答案 1 :(得分:1)

因此,您只想从ajax返回的文本中提取文本:

$.get( "http://bourlo.net/wiki/index.php/Lunet", function(html){

     $("#wikiModal h4.modal-title").text( $(html).find('.firstHeading').text() );
});

因为您使用.load(),因此在插入DOM之前无法操纵responseText。让我们承认你实际上可以这样做:

$h4 = $("#wikiModal h4.modal-title")
$h4
   .load( "http://bourlo.net/wiki/index.php/Lunet #firstHeading", function(){
        $h4.find('#firstHeading').replaceWith(function(){
            return $(this).text();
        });
    });

这绝对更笨拙。但是我不愿意这样做,因为偶尔会因为您无法控制的因素而限制使用.load版本而不是.get版本。