Javascript 更新<;头>;Jquery/Ajax导航Wordpress上的应答器

Javascript 更新<;头>;Jquery/Ajax导航Wordpress上的应答器,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在为wordpress网站做ajax导航。我用淡入淡出来更新#内容,这没关系,但我只想用新的页眉更新我的页眉,我找不到 $(document).ready(function () { //hash change $(window).hashchange(function () { //on retrouve le vrai lien var arg = window.location.hash.substring(3); v

我正在为wordpress网站做ajax导航。我用淡入淡出来更新
#内容,这没关系,但我只想用新的页眉更新我的页眉,我找不到

$(document).ready(function () {

    //hash change
    $(window).hashchange(function () {

        //on retrouve le vrai lien
        var arg = window.location.hash.substring(3);
        var link = 'http://ladresse.graphsynergie.com/' + arg;


        $.ajax({
            url: link,
            processData: true,
            dataType: 'html',
            success: function (data) {
                data = innerShiv(data, false);
                var contenu = $(data).find("#contenu");

                //problem part
                var head = $(data).find('head').text();
                document.head = head;
                //problem part end


                $('#contenu').fadeOut('200', function () {
                    $(this).html(contenu.html()).fadeIn('200');
                });
            }
        });
    });
    //end

    //détection d'un hash onload
    if (window.location.hash.substring(3) != '') {
        $(window).trigger('hashchange');
    }
});

要覆盖“”标记的内容,请使用


考虑到.text()只检索html标记中包含的“文本”,请查看我认为您真正想要的

因此,我认为您可能希望用以下代码替换这两行有问题的代码:

$("head").html($(data).find("head").html());
更新

显然,所有浏览器在创建DOM对象时都会去掉“主体”中没有的内容。问题是,当您执行以下操作时:“$(data)”jQuery创建了一个包含“data”变量内容的DOM对象,并且您的浏览器决定忽略所有不在“body”标记内的元素,因此jQuery处理的内部DOM对象中不再存在“head”元素。所以你必须找到一个解决办法

尝试一下,将这些代码行放在“success:function(data){”行之后:


谢谢,第一部分是解决,我可以改变我的头!但我没有找到我的新头,选择$(数据)的一部分。也许你有一些提示?…:)非常感谢你的帮助!这改变了我的头,但是$(数据)。查找(“头”).html()不返回任何内容,因此,我的新头部在此之后是空的…棒极了!感谢您的解释和搜索。非常酷,有一个带有头部更新的ajax导航//将添加Thx到Josep,我认为有了这一行,我的脚本将工作得更快:p
$("head").html($(data).find("head").html());
var headIni = data.toLowerCase().indexOf("<head");
var headEnd = data.toLowerCase().indexOf("</head>");
headIni = data.indexOf(">", headIni + 1) + 1;
var headHTML = data.substring(headIni, headEnd);
$("head").html($.htmlDoc(data).find('head').html());