作業中のページがあり、特定のページを作成しようとしていfadeIn
ます。ただし、セレクターを使用してフェードインすると、親のみが取得され、子は取得されません。fadeOut
div
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
子のに注意してくださいdiv
。
<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コードによって作成されている子と関係がありますか?セレクターを調べました:first-child
が、最初の親のすべての子ではなく、複数の親の最初の子にのみ影響するようです。私はまた、子供たちが自動的に追随すると思いました。ここで何が間違っているのでしょうか。また、コードを修正して、すべての子がコードを使用できるようにするにはどうすればよいdiv id="example_wrapper"
fadeIn
ですか。ありがとう!
アップデート
動作するようになったので、改訂したコードを含めたかっただけです。まだいくつかの調整が必要ですが、子div
の問題は完全に解決されています。@Ben Feldaが言ったように、要素はまだ存在していませんでした。私がしたことは、callback
関数に関数を追加して、効果と属性の変更をsが完全に形成されるまで待機するようdataTable
に強制することでした。fadeIn
fadeOut
div
$(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);
});