如何显示()一个id块

时间:2014-04-23 15:18:39

标签: jquery show

我有这个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>

2 个答案:

答案 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之前,因为当页面中的所有内容都加载完毕时会触发该事件。这里有更多细节:

http://api.jquery.com/ready/

一个实际的例子是一个简单的页面,里面有一个非常大的图像,需要几秒钟才能加载。当浏览器构造DOM时,document.ready事件将触发,但window.load函数只会在图像加载后触发,因此这可能是页面显示后的几秒钟。< / p>