如何对尚未可见的元素执行jquery操作

时间:2011-08-02 20:33:19

标签: javascript jquery

我在div中有一个textarea,我需要调用jquery函数来激活我的富文本框。 div最初是隐藏的,通过服务器端的按钮单击可以看到:

<div id="RichTextDiv" style="display:none">
 <textarea id="RichText" />
</div>

<script type="text/javascript" language="javascript">
  $(document).ready(function () {
    $("#RichText").markItUp(mySettings);
  }
</script>

上述代码不起作用,因为在页面加载期间RichTextDiv不可见。我需要在RichText变为可见时立即执行markItUp()操作。如何在jquery中实现?

...谢谢

2 个答案:

答案 0 :(得分:2)

你最初可以看到它

<div id="RichTextDiv">
    <textarea id="RichText" />
</div>

MarkItUp并隐藏就绪

$(document).ready(function () {
    $("#RichText").markItUp(mySettings).hide();
}

或点击按钮后将其连线:

$("input:button")click(function(){
    $("#RichText").show().markItUp(mySettings);
});    

这一切都说,我不知道为什么MarkItUp只会对可见元素起作用,看起来很奇怪

答案 1 :(得分:2)

sjQuery选择器可以处理隐藏的div。如果元素不在DOM中,它们不起作用,但这似乎不是这里的情况。

div的ID是RichTextDiv而你的选择器是RichText吗?