为了账号安全,请及时绑定邮箱和手机立即绑定

使用 AJAX 隐藏孩子的 div

使用 AJAX 隐藏孩子的 div

Smart猫小萌 2022-07-01 16:33:27
我正在使用 AJAX 加载页面。在每个网页中,我都有 2 个 div 常见 - 标题 div 和内容 div。现在,当我从一个页面导航到另一个页面时,我通过使用将下一页的内容 div 加载到当前页面中$("#content").load(URL+" #content");现在我正在使用 AJAX 加载页面,所以我正在更改 URL 并使用 History API 操作历史记录。所以现在当有人按下浏览器的后退按钮时就会出现问题,两个页面的标题 div 在加载过程中都显示,但在加载完成后消失。那么任何人都可以帮助我如何隐藏加载页面的标题 div。这是我用来处理浏览器后退按钮的代码  function swap(href) {   var x = document.getElementById("myTopnav");   x.className = "topnav";   var req = new XMLHttpRequest();   req.open("GET",       "http://localhost/" +         href.split("/").pop(),       false);   req.send(null);   if (req.status == 200) {      document.getElementById("content").innerHTML = req.responseText;      $("#content").load(" #content");      return true;   }      return false;  }  window.addEventListener("popstate", function(e) {     swap(location.pathname);     e.preventDefault();  });
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我认为这应该有效。它将响应包装在 DIV 中,以防万一#content是最外层元素,因为.find()只搜索内容。


function swap(href) {

  $("#myTopNav").addClass("topnav");

  var url = href.split('/').pop();

  $.get('http://localhost/' + url, function(response) {

      var fragment = $("<div>", {

        html: response

      });

      $("#content").replaceWith(fragment.find("#content"));

    }

  });

}


window.addEventListener("popstate", function(e) {

  swap(location.pathname);

  e.preventDefault();

});


查看完整回答
反对 回复 2022-07-01
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号