javascript - 从锚标记中的属性 href 加载特定 div 中的 html 文件
问题描述
HTML 文件中的 div
<div class="content">
<p class="info">Please choose a category</p>
</div>
带有 href 属性的锚标记
<a class="menu__link" href="{% url 'Profile' %}">Profile</a>
我的javascript函数
var gridWrapper = document.querySelector('.content');
function loadDummyData(ev, itemName) {
ev.preventDefault();
closeMenu();
gridWrapper.innerHTML = '';
classie.add(gridWrapper, 'content--loading');
setTimeout(function() {
classie.remove(gridWrapper, 'content--loading');
gridWrapper.innerHTML = $(".menu__link--current").attr("href")
console.log($(".menu__link--current").attr("href"))
}, 500);
}
控制台中的输出显示 url 的路径
/Accounts/profile
如果ev.preventDefault();
被删除并注释该行gridWrapper.innerHTML = $(".menu__link--current").attr("href")
,则 html 页面被加载但不在特定的内容 div 中。
问题是我想在内容 div 中加载带有 href 属性的特定 html 页面。任何帮助都感激不尽。谢谢你。
解决方案
您无法使用InnerHTML
. InnerHTMl用于将 HTML 元素插入到文档或目标 div 中。要加载外部 Html 文件,您必须使用.load
var gridWrapper = document.querySelector('.content');
function loadDummyData(ev, itemName) {
ev.preventDefault();
closeMenu();
gridWrapper.innerHTML = '';
classie.add(gridWrapper, 'content--loading');
setTimeout(function() {
classie.remove(gridWrapper, 'content--loading');
let path = $(".menu__link").attr("href") //Fetch path to the file
console.log($(".menu__link").attr("href")) //Path has to be /file/filename.html
$('.content').load(path); //========> use the path in the load method inside content div.
}, 500);
}
推荐阅读
- azure-active-directory - 有没有办法检索特定于 AAD 帐户用户(当前登录的用户 Dynamics 365 Customer Engagement)的 JWT 令牌?
- rxjs - 在幕后,rxjs 如何监听变化
- c# - 将流传递给函数并使其保持打开状态
- html - 带有滑动垂直导航栏的页脚超出屏幕宽度
- linux - 如何找到软件的xpath版本?
- python - 用各自索引的元组替换多维数组的每个元素
- php - 如何剪切或中断模数循环并在单独的html表中继续循环
- php - 如何在 Github 文件夹中向公众授予写权限?
- c# - 如何在 Asp.Net MVC5 中使用 Ajax 将数据库更改保存到拖放列表
- r - 如何有效地基于列对数据进行子集化 (R)