jsp页面初始化时,css无法对append追加的元素进行渲染

1.前提:所有js css 都引用正常。

jsp页面,直接写这样,input标签可以进行css渲染

<body>
<div id="max">
    <input class="easyui-textbox" >
</div>
</body>

图片说明

2.如果在js中进行追加,则css没有渲染**

图片说明

图片说明

不明白这是什么原因导致的 ,求解

$(function () {
            var input = document.createElement("input")
            input.setAttribute("class", "easyui-textbox")
            $('#max').append(input)
            $('.easyui-textbox').textbox({
            })

        })

原因是easyui的机制,它不是时候追加元素并设置easyui-textbox样式就会渲染的。
easyui和很多框架的机制一致,先加载所有的html,然后根据你的样式来渲染成浏览器中看到的结果。

你追加的元素没有经过渲染。你检查下生成的element,你会发现easyui渲染的元素的class不一样了,多了很多东西,那就是渲染后增加的东西。

easyui追加元素需要使用easyui的函数去创建它

$('#max').textbox({
        buttonText:'Search',
        iconCls:'icon-man',
        iconAlign:'left'
})

追加元素的流程: 增加div>将div创建成easyui组件

https://blog.csdn.net/sinat_35626559/article/details/100988393