html - jQuery / 元素在加载时自动隐藏
问题描述
我正在处理.net web api 单页应用程序分配。我目前在客户端使用jQuery时遇到问题。
Myindex.cshtml
有一个网格,其中包含很少的<div>
元素,例如loginDiv
, registerDiv
, dataDiv
, searchDiv
, logoutDiv
(请注意,这些也是它们的元素#id
)。我试图做的是在用户进入我的index
页面后隐藏特定元素。我所有的元素默认情况下都是可见的,所以我.hide()
在我的脚本中使用我不想被看到的元素的方法。
这是我scrtip.js
到目前为止的样子:
$(document).ready(function () {
var host = "http://" + window.location.host + "/";
var festivalsEndPoint = "api/festivali";
var registerEndPoint = "api/Account/Register";
var loginEndPoint = "Token";
var formAction = "POST";
var editingId;
var token = null;
var headers = {};
$("#searchDiv").hide();
$("#createEditDiv").hide();
$("#logoutDiv").hide();
$("body").ready(function () {
loadAll();
});
function loadAll() {
var requestUrl = host + festivalsEndPoint;
$.getJSON(requestUrl, fillData);
var dropdownUrl = host + "api/mesta";
$.getJSON(dropdownUrl, fillDropDown);
}
});
我的index.cshtml
:
@section Scripts{
@Scripts.Render("~/Scripts/script.js")
}
<div class="main-container">
<div class="grid-container">
<div id="header" class="item1"><h1>My project</h1></div>
<div id="registerDiv" class="item2" >
<p class="form-title"><b>Register form</b></p>
<form id="registerForm" method="post" action="post/">
<p>
<label>E-mail</label>
<input id="registerEmail" type="text">
</p>
<p>
<label>Password</label>
<input id="registerPsw" type="password">
</p>
<p>
<label>Confirm password</label>
<input id="registerPswConfirm" type="password">
</p>
<button id="registerBtn" type="submit">Register</button>
<p id="registrationSuccessful"><b>Registration was successful! You can now log-in...</b> </p>
</form>
</div>
<div id="loginDiv" class="item3">
<p class="form-title"><b>Login form</b></p>
<form id="loginForm" method="post" action="post/">
<p>
<label>E-mail</label>
<input id="loginEmail" type="text">
</p>
<p>
<label>Password</label>
<input id="loginPsw" type="password">
</p>
<button id="loginBtn" type="submit">Sign-in</button>
</form>
</div>
<div id="dataDiv" class="item4">
</div>
<div id="logoutDiv" class="item5">
<p class="form-title"><b>Account</b></p>
<p id="loggedUser">Logged in user: testtest@gmail.com</p>
<p><button id="logoutBtn" class="btn-danger">Logout</button></p>
</div>
<div id="searchDiv" class="item7">
<p class="form-title"><b>Search</b></p>
<form id="searchForm" method="post" action="post/">
<p>
<label>Criterium 1</label>
<input type="text">
</p>
<p>
<label>Criterium 1</label>
<input type="password">
</p>
<button id="searchBtn" type="submit">Search</button>
</form>
</div>
<div id="createEditDiv" class="item6">
<p class="form-title"></p>Create / edit form
<form id="createEditForm" method="post" action="post/">
<p class="form-title">Form</p>
<p>
<label>Something </label>
<input id="" type="text">
</p>
<p>
<label>Something</label>
<input id="" type="text">
</p>
<p>
<label>Something</label>
<input id="" type="text">
</p>
<p>
<select id="select"> </select>
</p>
<button id="submitBtn" type="submit">Submit</button>
</form>
</div>
<!-- GRID -->
</div>
</div>
我已经完成了类似的任务,这种方法效果很好。现在,问题是,一旦我加载页面,显示的唯一元素就是带有#logoutDiv
id 的元素,即使我将它隐藏在我的脚本中。以及其他默认不隐藏的元素,例如在页面加载时自动隐藏#loginDiv
。#registerDiv
注意:当我加载页面并转到浏览器控制台时,它甚至说有隐藏元素。点击这里查看。我试图检查页面并在控制台中显示“ style=display:none
”,以获得我实际上试图不隐藏的元素。
注意:我尝试.css
从项目中删除我的文件以查看我的 css 是否存在这种情况,但即使没有任何 .css,结果也是一样的
有谁知道什么会导致这种情况?到目前为止,我只尝试为所有元素/div 赋予display:none
样式,然后.show()
在 jQuery 脚本中使用,但这并不能解决我的问题。
解决方案
推荐阅读
- amazon-web-services - 在所有 aws 服务中,为单页应用程序提供 index.html 的最高效方式是什么?
- python - Scrapy:1)什么是限制蜘蛛 2)如何删除过期的请求对象?
- r - 使用具有活动绑定的引用类时,求值嵌套太深
- kubernetes - 如何在 Websocket API 中传递授权承载令牌
- nativescript - Nativescript 获取元素位置
- azure - 如何将表存储表复制到其他表存储
- c# - 从字符串构造一个动作
- python - Python - 从没有 OpenCV 的视频中提取帧
- c++ - PlaySound() winmm 不播放现有声音
- php - if语句中的Smarty调用对象方法