使用getElementById写入div时javascript类不工作

使用getElementById写入div时javascript类不工作,javascript,class,getelementbyid,Javascript,Class,Getelementbyid,我一直在使用一个名为tcal的datepicker js类。链接到服务器上的类后,可以用一行代码调用它 在标题中 <link rel="stylesheet" type="text/css" href="tcal.css" /> <script type="text/javascript" src="tcal.js"></script> html 拾取日期: 它一直运作良好 然而,为了简化页面,我现在尝试将其从html中删除,并仅当用户使用getEle

我一直在使用一个名为tcal的datepicker js类。链接到服务器上的类后,可以用一行代码调用它

在标题中

<link rel="stylesheet" type="text/css" href="tcal.css" />
<script type="text/javascript" src="tcal.js"></script>

html

拾取日期:
它一直运作良好

然而,为了简化页面,我现在尝试将其从html中删除,并仅当用户使用getElementById单击页面时才将其显示在div中。虽然我可以显示输入框ok,但当以这种方式写入浏览器时,该类似乎不再工作

js

函数pickDate(){
document.getElementById('show').innerHTML='Pick date:';
}
html


当用户单击时,将显示输入框。但是,在tox中单击时,日期选择器日历不会弹出。有人知道为什么以这种方式写入浏览器时tcal不工作吗


谢谢您的建议。

发生这种情况的原因是您在dom中添加了输入框,之后您的日期选择器代码被初始化,只需重新初始化日期选择器代码即可

正如我所见,您的库可能没有代码进行初始化,您可以单独进行隐藏和显示,而不是稍后添加到dom中,如果文本框在页面开始处可用,它将被初始化,因此使用以下代码

html-

<div id="something" style="display:none;">Pick date: <input type="text" size=8 name="eventdate" class="tcal" value=></div>
document.getElementById('something').style.display="block";     

您正在调用的
pickDatel()
pickDate()
之间有什么区别吗?原因是您的输入框将在dom中添加,稍后您的日期选择器代码将被初始化,只需重新初始化键入的日期选择器代码值。Rohit,我如何重新初始化datepicker代码?我看到tcal.js你没有初始化代码的句柄,所以请看我的回答我不认识js语法。我可以在函数中显示它吗,如。。函数showDate(){something.display:block;}并调用该函数?很抱歉,我忘了您没有使用jquery,是的,您可以使用
.style.display=“block”
,我还更新了我的答案
<a href="javascript:void();" onclick="pickDate();">Pick Date</a><div id="show"></div>
<div id="something" style="display:none;">Pick date: <input type="text" size=8 name="eventdate" class="tcal" value=></div>
document.getElementById('something').style.display="block";