js 包括自己写的,还有写easyui框架的。如何解决
比方说Easyui 有个日期输入框
<input id="dd" class="easyui-datebox" ></input>
在easyui 框架下只需要设置 样式为easyui-datebox,就可以了。但是如果 你post 一段html代码
$("#aa").append("<input id='ss' class='easyui-datebox' />")
easyui时间输入框 就不行了。
function xx() { $("#aa").append("<input id='ss' class='easyui-datebox' />") } </script> </head> <body> <input id='sss' class='easyui-datebox' /> <input type="button" value="点击,加入一段html" onclick='xx()'/> <div id="aa"> </div>
结果是第一个是时间输入框,第二个不是
用js原生API 如 div.innerHTML = 'some html'; 的话, 浏览器并不会将‘some html’ 里面的script 解析执行, JQ里面的实现大约是先分析‘some html’, 找到里面的script, 然后eval(); , 你可以用jQ的.html()函数给节点添加内容
1、第一种页面加载的时候,会加载css
2、第二种通过点击,不会加载css,只能通过代码,如
function xx() { $("#aa").html("<input id='ss' />"); $("#ss").datebox(); //在动态生成字符串append(append会重复生成,可以先empty,简单改为html)到页面上,在给id为ss初始化, }
@秋壶冰月: 第二种你可以先手动append一个样式标签
$('head').append('<link rel="stylesheet" href="xx" />');
或者提前在页面顶部加上
应该是加载的时机问题,通过浏览器自带的开发人员工具进行!看到底那里出问题了!
求完整代码 不然不知道错误所在