javascript - 如何使用 javascript 查找子页面元素
问题描述
我正在开发一个网络应用程序,并希望在子页面中找到一个具有特定 ID 的按钮,可以使用导航栏访问该按钮。尝试通过其 ID 在主页上查找按钮时,我没有任何问题,但是当我尝试执行相同操作时,它无法找到它并设置为 null。
我正在使用 VS 2019 并运行 MVC ASP.NET 解决方案。
document.addEventListener("DOMContentLoaded", function () {
const mainPageBtnEle = document.getElementById("main-btn"); // works
const subPageBtnEle = document.getElementById("sub-btn"); // fails
该按钮的html如下:
<button type="button" class="btn btn-primary" id="sub-btn">
Button!
</button>
导航栏的 html 如下:
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Home</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
<ul class="navbar-nav flex-grow-1">
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Admin" asp-action="Index">Admin</a>
</li>
</ul>
</div>
</div>
</nav>
请注意,我正在寻找的按钮是“管理员”页面的一部分,并且是其中的 Index.cshtml 视图的一部分。
由于 subPageBtnEle 获得空值,因此单击它时无法触发任何功能。
任何帮助将非常感激。
解决方案
解决方案:通过const subPageBtnEle = document.getElementById("sub-btn");
移出document.addEventListener("DOMContentLoaded", function ()
.
因此,现在该功能按预期工作。
感谢大家的帮助!