我有一个我正在处理的页面,并且正在尝试fadeIn
和fadeOut
特定div
的 s。但是,当我div
使用:first
选择器淡入淡出时,我只得到父div
项,没有一个子项。
Javascript(jQuery):
$(document).ready(function () {
setupLeftMenu(); //creates nav menu
autoHeight(); //auto scales content
$('.datatable').dataTable(); //creates sortable table, injects divs that are not showing up when 'fadeIn' is used.
$('#outer div').hide();
$('.submenu li:first').attr('id','current');
$('#outer div:first').fadeIn('slow');
$('.submenu li a').click(function() {
var top = $(this);
$('#outer div').fadeOut('slow');
$('.submenu li').attr('id','');
$(this).parent().attr('id','current');
$('#' + $(top).attr('name')).fadeIn('slow');
});
});
这是我得到的 HTML 代码。注意display:none
在 child div
s 上。
<div class="dataTables_wrapper" id="example_wrapper" style="display: block;">
<div id="example_length" class="dataTables_length" style="display: none;">
<label>Show
<select size="1" name="example_length">
<option value="10" selected="selected">10</option>
<option value="25">25</option><option value="50">50</option>
<option value="100">100</option>
</select>
entries
</label>
</div>
<div class="dataTables_filter" id="example_filter" style="display: none;">
<label>Search:
<input type="text">
</label>
</div>
</div>
这是否与div
其他 Javascript 代码创建的 child 有关?我查看了:first-child
选择器,但这似乎只影响多个父母的第一个孩子,而不是第一个父母的所有孩子。我还假设孩子们会自动效仿。我在这里做错了什么,我应该如何修复我的代码,以便所有的孩子都div id="example_wrapper"
fadeIn
使用它?谢谢!
更新
只是想包含我修改后的代码,因为我已经让它工作了。仍然需要进行一些调整,但孩子div
的问题已经完全解决。正如@Ben Felda 所说,这些元素还不存在。我所做的是向函数添加一个callback
函数,该dataTable
函数强制fadeIn
andfadeOut
效果和属性更改等到div
s 完全形成。
$(document).ready(function () {
setupLeftMenu();
autoHeight();
$('#outer div').hide();
$('.submenu li:first').attr('id','current');
$('#outer div:first').fadeIn('slow');
var dbCallBack = $('.submenu a').click(function() {
var top = $(this);
$('#outer div').fadeOut('slow', function() {
$('.submenu li').attr('id','');
$(top).attr('id','current');
$('#' + $(top).attr('name')).fadeIn('slow');
});
});
$('.datatable').dataTable(dbCallBack);
});