我有这个jquery代码,不会显示一个以display: none
$(document).ready(function() {
$(window).load(function() {
$('#anId').hide(); // show section
$('#anId').show(); // show section
$('#anId').hide().show(); // show section
$('#anId').css('display', 'block'); // show section
}); // end .load()
}); // end .ready()
有关为何提出建议的任何想法?
这是标记:
<fieldset class="formField__marginTop formField__area" id="anId" style="display: none;">
<legend>Reservation Notes</legend>
<div class="formField__optional">
<label for="reservationNote">Optional Notes</label>
<textarea name="reservationNote" id="reservationNote" rows="5" cols="21" class="formField__text formField__textarea255" enabled="enabled" maxlength="255"></textarea>
<small class="formField__tip">Enter any additional and pertinent information relating to this reservation.</small>
</div>
<div class="formField__optional">
<label>Note Type</label>
<fieldset class="formField__list formField__inlineButtons" enabled="enabled">
<label for="reservationNoteType_746440">
<input type="radio" value="0" name="reservationNoteType" id="reservationNoteType_746440" class="formField__list" checked="checked"> Private (Internal Use Only)
</label>
<label for="reservationNoteType_445052">
<input type="radio" value="1" name="reservationNoteType" id="reservationNoteType_445052" class="formField__list"> Public (Customer Viewable)
</label>
</fieldset>
<small class="formField__tip">Choose whether this note is for internal or external use.</small>
</div>
</fieldset>
答案 0 :(得分:1)
仅使用此处理程序中的一个$(document).ready()
或$(window).load
你的脚本应该可以正常工作。
请注意$(window).ready
之前的$(document).load()
。
答案 1 :(得分:1)
您的问题是您在window.load
事件中放置了document.ready
个事件。 window.load
应该在document.ready
之后发生,因此它永远不会发生。 document.ready
对于这种效果更好,因为当DOM准备好采取行动时它会触发。
删除$(window).load(function() {
部分和相应的});
,您的代码应该有效。
编辑:
window.load
对象加载完成后将触发window
事件。您实际上可以将load()
事件附加到任何内容,因此您可以在图像加载完毕或类似时触发它。有关详细信息,请访问:
https://api.jquery.com/load-event/
当DOM完全加载时,document.ready
事件将会触发 - 这通常是页面准备好接受JavaScript操作的时候。正如@Jason P指出的那样,这实际上是在window.load
之前,因为当页面中的所有内容都加载完毕时会触发该事件。这里有更多细节:
一个实际的例子是一个简单的页面,里面有一个非常大的图像,需要几秒钟才能加载。当浏览器构造DOM时,document.ready
事件将触发,但window.load
函数只会在图像加载后触发,因此这可能是页面显示后的几秒钟。< / p>