刷新元素
jQuery: Refreshing an element
我正在使用这个类似手风琴的脚本:
jQuery(document).ready(function () {
jQuery(".content").hide();
jQuery(".heading").click(function () {
jQuery(this).next(".content").slideToggle(500)
});
});
然后我添加了这一行,以便在内容div切换后重新加载元素…
document.getElementsByClassName(transition current).reload();
的结果,手风琴不再工作…始终显示content
类。
为什么这一行会影响手风琴的行为?
我正在尝试刷新元素,同时保留手风琴样式div…
任何想法?
您需要使用事件委托,因为元素是动态创建的
jQuery(function ($) {
$(".content").hide();
$(document).on('click', ".heading", function () {
$(this).next(".content").stop(true, true).slideToggle(500)
});
});
你仍然可能有一个问题,所有的content
元素显示一旦元素被重新加载,隐藏这些元素,你需要使用任何加载回调系统提供的你正在使用
这里有一个语法错误:
document.getElementsByClassName(transition current).reload();
getElementsByClassName
期望传递一个字符串(更不用说上面的语法不正确,即使它期望两个参数)。您试图传递两个变量(您还没有定义)。传递一个字符串:
document.getElementsByClassName('transition current').reload();
。这也不行!阅读文档告诉我们,getElementsByClassName
返回HTMLCollection
,它没有reload()
方法,导致另一个错误。你有没有看着控制台?
您可能会假设getElementsByClassName
返回一个jQuery对象,在这种情况下,您可以用$('.transistion, .current').reload();
再次说明,reload()
也不是原生jQuery方法。我假设你是通过插件带来的。如果我错了,请在下面评论,我会更新答案。
我使用的是isotype jQuery插件,所以这个问题是通过添加这一行作为回调来"布局"加载到DOM中的任何更改来解决的。
$('#blog-list').isotope('reLayout');
相关文章:
- X秒后刷新select元素
- Jquery在刷新时返回元素的旧值
- 在刷新之前存储元素中的数据
- 如何在页面刷新后保留动态创建的html元素及其数据/值
- 如何刷新CSS,以便动态生成的元素可以被设置样式
- JavaScript/PHP 刷新取代了 HTML 元素类
- 使用挖空.js如何刷新 Select 元素中的可观察数组
- 使用javascript创建Form元素,并在不重定向/刷新的情况下提交
- IOS自动化:有没有办法;刷新'元素树(或者Instruments'认为可以访问和不能访问的任何内容)
- JQuery没有't在“t”上注册事件;刷新”;元素
- 点击页面刷新;重新显示两个输入元素
- 在'之后刷新jQuery Mobile元素;手动'操纵
- 刷新元素组
- 添加<tr>元素到动态表,动态不刷新页面,php-jquery
- 刷新ul中在iframe中找到位置的元素
- 刷新元素
- 在inspect元素上编辑HTML时刷新Chrome DOM
- 显示最后一个元素后刷新页面
- 模态元素刷新页面:需要停止
- 如何使用新创建的元素刷新DOM