我有一个包含很多div的html文件。除此之外,我还有一个JQuery文件,它每30秒运行一次AJAX请求。在我的JQuery如果条件满足并且jQuery重新下载3次我想更新我的div-s。我试图添加一个div,但是当我重新加载整个页面时它不会出现。如果我设置删除我的div并且不添加,则JQuery删除我的div,所以对我来说这很奇怪,因为只有.add或.append或.html不起作用。此外,我也设置了一个具有隐身性的类,并且我还设置了当条件满足jQuery文件时删除不可见性类,但div不想出现。我正在尝试创建示例代码。
我的HTML
<div class="row">
<div id="myclass" class= "invisible" >
<div <p> Please appear for me!<p></div>
</div>
</div>
我的JQuery:
if (condition) {
$('#myclass').removeClass('invisible');
if (n >= 2) {
$('#myclass').addClass('invisible');
}
}
重点是,如果满足条件,那么当我重新加载页面时,类不会被删除。在jQuery文件中,n等于AJAX
重新加载setInterval
的时间。我的问题是为什么我的div不会出现在我重新加载整个页面的时候?也为什么删除没有重新加载?
提前感谢您的答案!
答案 0 :(得分:0)
removeClass 和 addClass 完美无缺。首先,你可以检查jQuery是否有效,只是尝试直接写你的脚本(&#34; .append&#34;,&#34; .html&#34;,&#34; .insertAfter&#34;)在浏览器控制台中,当您更改隐身时,可以在代码中添加一些console.log:
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest.admin', ['except' => 'logout']);
}
public function showLoginForm()
{
return view('admin.auth.login');
}
/**
* Get the guard to be used during authentication.
*
* @return \Illuminate\Contracts\Auth\StatefulGuard
*/
protected function guard()
{
return Auth::guard('admins');
}
更新一些div内容,可以使用简单的功能。喜欢 - 在获取请求中调用自己的页面,并替换div内容。
console.log('removeClass');
$('#myclass').removeClass('invisible');
if (n >= 2) {
console.log('addClass');
$('#myclass').addClass('invisible');
}
如果你更多_不使用你的间隔,那么清除它是一种很好的做法。
function reloadMyDiv(selector){
var element = $(selector);
if(element.length===1){
$.get(window.location.href,{},function(response){
var new_page = $('<div></div>').append(response);
var new_element = new_page.find(selector);
if(new_element.length===1){
element.html( new_element.html() );
console.log('update');
}else{
console.log('need contains only one element, '+new_element.length+' found!');
}
});
}else{
console.log('need contains only one element, '+element.length+' found!')
}
};