mufeng633
沐风Cc
采纳率62.5%
2020-02-18 18:14

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

10

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

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

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

图片说明

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

图片说明

图片说明

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • qq_32549451 不过围城 1年前
    $(function () {
                var input = document.createElement("input")
                input.setAttribute("class", "easyui-textbox")
                $('#max').append(input)
                $('.easyui-textbox').textbox({
                })
    
            })
    
    点赞 1 评论 复制链接分享
  • dashicaineng 蔡能教授,网站特聘专家 1年前
  • cbtpro 程序员的救赎 1年前

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

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

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

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

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

    点赞 评论 复制链接分享