js动态拼接标签,样式丢失的解决方法

js 动态添加html 页签 -完善版 目录 一、情形: 二、处理: 三、实现: 四、总结: 一、情形: 7月份写的那版多页签切换列表是基于 button 标签 ,而且当前操作的永远都是同一个页签,通过点击事件刷新数据显示的。图示如下: 这就产生了几个问题: 1. 页签和对应页面的关联不够明显 ; 2. 当前页面数据没保存就点击下一个页签,当前页面数据丢失; 3、同时没法存在多个空的页签; 发现问题之后,... 阅读详情

参考:http://blog.youkuaiyun.com/u010552788/article/details/49363107

今天使用jquery的append()方法来拼接,发现拼接的元素引用的easyui样式丢失。原因是easyui只在最初页面加载的时候进行一次性渲染。

想要的效果:

之前的效果:


起作用的代码:

var tagobj = $('#append');
$.parser.parse(tagobj);

页面相关代码:

<fieldset class="fieldset_jy">
                    <legend class="legend_jy">气瓶信息</legend>
                    <div style="padding-left: 5px;" id="append">
                            <ul class="_searcher new-line">
                                <li>出厂日期:
                                    <input id="outputDate1" name="outputDate" type="text" class="easyui-datebox"
                                           required="true" style="width: 150px;" validType="date"
                                           value="" data-options="formatter:ww4,parser:w4"/>
                                </li>
                                <li>出厂编号:
                                    <input id="serialNumber1" name="serialNumber" type="text" class="easyui-validatebox"
                                           required="true" style="width: 130px;" value=""
                                           validType="midLength[0,50]" invalidMessage="50个字符之间!"/>
                                </li>
                                <li>起用日期:
                                    <input id="enableDate1" name="enableDate" type="text" class="easyui-datebox"
                                           required="true" style="width: 150px;"  validType="date"
                                           value="" data-options="formatter:ww4,parser:w4"/>
                                </li>
                                <li>下次检验日期:
                                    <input id="nextTestDate1" name="nextTestDate" type="text" class="easyui-datebox"
                                           required="true" style="width: 150px;" validType="date"
                                           value="" data-options="formatter:ww4,parser:w4"/>
                                </li>
                                <li>制造单位:
                                    <input id="makeCompany1" name="makeCompany" type="text" class="easyui-validatebox"
                                           required="true" style="width: 130px;" value=""
                                           validType="midLength[0,100]" invalidMessage="100个字符之间!"/>
                                </li>
                                <li>
                                       <a id="query" href="javascript:void(0);" onclick="addLineJs()" class="easyui-linkbutton" iconCls="icon-add" style="vertical-align: middle;">添加</a>
                                </li>
                            </ul>

                        </div>
                </fieldset>

相关js代码:

<script type="text/javascript">
    function addLineJs(){
        var outputDate1 = $("#outputDate1").val();
        var serialNumber1 = $("#serialNumber1").val();
        var enableDate1 = $("#enableDate1").val();
        var nextTestDate1 = $("#nextTestDate1").val();
        var makeCompany1 = $("#makeCompany1").val();

        var num = $('#append .new-line').length;
        alert(num);
        var html2 = '';
        var arrOutputDate = new Array();
        $("input[name='outputDate']").each(
                function(){
                    arrOutputDate.push($(this).val());
                }
        )
        var arrSerialNumber = new Array();
        $("input[name='serialNumber']").each(
                function(){
                    arrSerialNumber.push($(this).val());
                }
        )
        var arrEnableDate = new Array();
        $("input[name='enableDate']").each(
                function(){
                    arrEnableDate.push($(this).val());
                }
        )
        var arrNextTestDate = new Array();
        $("input[name='nextTestDate']").each(
                function(){
                    arrNextTestDate.push($(this).val());
                }
        )
        var arrMakeCompany = new Array();
        $("input[name='makeCompany']").each(
                function(){
                    arrMakeCompany.push($(this).val());
                }
        )
        for(var i=1;i<=num;i++){
            var outputDate = 'outputDate' + (i + 1);
            var serialNumber = 'serialNumber' + (i + 1);
            var enableDate = 'enableDate' + (i + 1);
            var nextTestDate = 'nextTestDate' + (i + 1);
            var makeCompany = 'makeCompany' + (i + 1);
            html2 += '<ul class="_searcher new-line">';
            html2 += '<li>出厂日期:<input id="' + outputDate + '" name="outputDate" type="text" class="easyui-datebox" required="true" style="width: 150px;" validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
            html2 += '<li>出厂编号:<input id="' + serialNumber + '" name="serialNumber" type="text" class="easyui-validatebox" required="true" style="width: 130px;" value="" validType="midLength[0,50]" invalidMessage="50个字符之间!"/> </li>';
            html2 += '<li>起用日期:<input id="' + enableDate + '" name="enableDate" type="text" class="easyui-datebox" required="true" style="width: 150px;"  validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
            html2 += '<li>下次检验日期:<input id="' + nextTestDate + '" name="nextTestDate" type="text" class="easyui-datebox" required="true" style="width: 150px;" validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
            html2 += '<li>制造单位:<input id="' + makeCompany + '" name="makeCompany" type="text" class="easyui-validatebox" required="true" style="width: 130px;" value="" validType="midLength[0,100]" invalidMessage="100个字符之间!"/> </li>';
            html2 += '<li>   <a id="query" href="javascript:void(0);" onclick="removeLineJs()" class="easyui-linkbutton" iconCls="icon-remove" style="vertical-align: middle;">删除</a></li>';
            html2 += '</ul>';
        }
        var html = '';
        html += '<ul class="_searcher new-line">';
        html += '<li>出厂日期:<input id="outputDate1" name="outputDate" type="text" class="easyui-datebox" required="true" style="width: 150px;" validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
        html += '<li>出厂编号:<input id="serialNumber1" name="serialNumber" type="text" class="easyui-validatebox" required="true" style="width: 130px;" value="" validType="midLength[0,50]" invalidMessage="50个字符之间!"/> </li>';
        html += '<li>起用日期:<input id="enableDate1" name="enableDate" type="text" class="easyui-datebox" required="true" style="width: 150px;"  validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
        html += '<li>下次检验日期:<input id="nextTestDate1" name="nextTestDate" type="text" class="easyui-datebox" required="true" style="width: 150px;" validType="date" value="" data-options="formatter:ww4,parser:w4"/> </li>';
        html += '<li>制造单位:<input id="makeCompany1" name="makeCompany" type="text" class="easyui-validatebox" required="true" style="width: 130px;" value="" validType="midLength[0,100]" invalidMessage="100个字符之间!"/> </li>';
        html += '<li>   <a id="query" href="javascript:void(0);" onclick="addLineJs()" class="easyui-linkbutton" iconCls="icon-add" style="vertical-align: middle;">添加</a> </li>';
        html += '</ul>';
        html2 += html;

        $("#append").empty();
        $("#append").append(html2);
        var tagobj = $('#append');
        $.parser.parse(tagobj);

    }

</script>



JavaScript match() 方法深度解析:null 安全、捕获组与全局匹配陷阱 String.prototype.match 是 JavaScript 中处理正则匹配的核心方法,其本质并非简单返回匹配结果,而是 RegExp 引擎执行状态的一次性快照。理解它返回 Array 或 null 的确定性契约,是避免 'Cannot read properties of null' 类高频错误的前提;掌握 g 标志对返回结构的颠覆性影响(丢失 index/input/捕获组),可规避日志解析、富文本提取等场景中的静默失效;结合命名捕获组(groups)与 matchAll(),能显著提升代码可 阅读详情

相关推荐

U3d WebGL使用ToLua

首先我们在编辑器模式下加入Tolua插件,然后配置修改到在编辑器模式下能够正常的运行。 同个U3d 插件Build出WebGL的工程,运行的时候你会发现(有些需要把这个WebGL工程放在一个HttpServer下面,直接本地访问index.html会被拒绝,让你使用http的格式)。 当要加载完的时候会出现 To use dlopen, you need to use Emscripten'...

qq_35267906的博客 2946

JS实现table动态生成过程中,移动行checkbox值丢失问题的解决

 最近在做项目过程中遇到这样一个疑问:(查看实例代码TEST1)  DHTML中table对象的moveRow方法实现对table中表格行移动到新位置。例子TEST1中行2包含文本框、复选框、下拉框,当分别键入值后对行2执行上移操作后,我们发现,文本框与下拉框的值不会丢失,但复选框值会丢失。而如果在行2中键入值后对行1执行下移操作,这时候所有值都不会丢失。这也就说明了moveRow方法对所操作行中...

thomas0988 287

PyCharm安装PyQt5及工具(Qt Designer、PyUIC、PyRcc)详细教程来了

Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合。这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的所有工具包,主要内容包括PyQt5、PyQt5-tools的依赖包安装和Qt Designer、PyUIC、PyRcc三个工具的设置。最后简单演示了PyQt5的调用方式及三个工具的使用方法。

Python966的博客 3万+

用Jquery动态append方式加入标签时Css样式丢失的解决方法

这两天做一个文本编辑器,会动态用append方式添加html,遇到了css失效问题,后来网上翻了翻资料,找到如下解决方式: $("#所在标签id").append(obj);  // 用append 方式添加拼接的标签 $("#所在标签id").listview("refresh");   //在使用'ul'标签时才使用,作用:刷新列表 $("#所在标签id").trigger(

chao7842的博客 2万+

TI IWR6843AOP雷达+DCA1000EVM数据采集:官方手册里的坑,我帮你踩完了

本文详细解析了TI IWR6843AOP雷达与DCA1000EVM数据采集实战中的12个关键细节,包括硬件连接陷阱、mmWave Studio隐藏设置、数据采集参数优化等,帮助开发者避开官方手册未提及的常见问题,提升数据采集效率和系统稳定性。

weixin_28366475的博客 1102

麒麟v10(ky10.x86_64)升级——openssl-3.2.2、openssh-9.8p1

执行命令: make -j 4 && make install 这里要等待一段时间,等待编译完成。执行命令: ./configure --prefix=/usr/local/src/zlilb。执行命令: ./config --prefix=/usr/local/src/openssl。执行命令: make -j 4 && make test && make install。执行命令: make -j 4 && make install。执行命令: /etc/init.d/sshd restart。

X_yufei的博客 7428

easyui中使用jquery或js动态添加元素时出现的样式失效的解决方法

可以使用$.parser.parse();这个方法进行处理; 例如: $.parser.parse(); 表示对整个页面重新渲染,渲染完就可以看到easyui原来的样式了; var ta...

chunyouhai5703的博客 166

SpringBoot+VUE3实战:如何用WebSocket搞定网页端语音通话(避坑指南)

本文详细介绍了如何使用SpringBoot和VUE3结合WebSocket技术实现网页端语音通话功能。从环境配置、WebSocket服务端实现到前端音频处理,提供了完整的开发指南和避坑建议,帮助开发者快速构建稳定高效的实时语音通信系统。

weixin_29021195的博客 221

jquery html()方法应用样式,Layui框架使用 jquery.html()方法渲染出页面没有样式

问题描述:在Layui框架中,自己用 js拼接出来的 tabl e表格,使用jquery.html()方法渲染出来发现没有css样式!如下代码(功能:点击确定后js获取多选框选中的值,并且拼接成另一个表单在 box2 中显示)$('.button').click(function(){varstr='';str="";$('input[name="check[]"]:checked').eac...

weixin_28746457的博客 888

VSCode配置ClangFormat:让C++大括号乖乖不换行(附常见样式对比)

本文详细介绍了如何在VSCode中配置ClangFormat,实现C++代码大括号不换行的格式化风格。通过对比Attach、Allman等主流大括号样式,并提供从快速设置到项目级配置的完整指南,帮助开发者打造统一、高效的代码格式化工作流,提升团队协作效率。

weixin_28835551的博客 215

【MODBUS】Java实现的Modbus协议类库——推荐j2mod库

Jamod是另一个开源的Modbus Java库。这个库的设计是完全面向对象的,基于抽象,应该支持易于理解、可重用性和可扩展性。它支持Modbus RTU和Modbus TCP,并且提供了主站和从站的功能。这是jamod Modbus库的一个分支,取自1.2.1版本,根据Apache 2许可证发布,包含在该项目的SVN存储库中。j2mod项目的目标是基于Java编程语言生成一个功能更全面的Modbus(tm)通信库。这是一个积极开发的项目,接受具有Modbus主站和从站开发经验的专业软件工程师提交的文件。

开源物联网项目商业化作者 5638

html 动态添加样式丢失,动态加载 html 中 td标签 的css样式 不起作用

问题已解决。。。js动态加载时分了多种情况,而我只改了其中一种情况,应该把所有情况都改掉,如下:'{@if it.detailTypeString == "OnlineCourse"}','','${it.objectName}','','{@/if}','{@if it.detailTypeString == "OfflineCourse"}','','${it.objectName}','',...

weixin_35056594的博客 486

YOLOv8改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点

本文记录的是利用模块优化的目标检测网络模型。的目的是在不出现过参数化的情况下有效地增加卷积的感受野,从而解决了在感受野扩展中的参数膨胀问题。本文将其加入到深度可分离卷积中,有效降低模型参数量和计算量,并二次创新C2f,使模块更好地捕捉低频特征,增强网络性能。Wavelet Convolutions for Large Receptive Fields小波卷积及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块改进方法:加入(第五节讲解添加步骤)。添加后如下:模块改进方法:基于的(第五节讲解添加

Limiiiing的博客 1092

目前可用的微博秀的嵌入方法大全(亲测2019年2月仍有效)

当今最全面可用的微博分享组件嵌入方法(亲测2019年2月仍有效) 最近一直在找一种目前可用的微博分享组件的使用方法,发现有3个大坑: 向网页嵌入微博秀时,需要的uid简单,但需要的verifier值有点难获取,原因在于原生成微博秀页面的 url 及其子链接均会被强制从http重定向跳转到https,此外其response中部分css引用...

weixin_33670786的博客 595

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jQuery属性与样式操作核心原理:attr、prop、data、css四大API详解

DOM操作是前端开发的底层基石,理解HTML属性(Attribute)与JavaScript属性(Property)的本质差异,是掌握动态交互的关键前提。jQuery通过.attr()、.prop()、.data()和.css()四套API,分别抽象了结构标记、状态控制、临时数据挂载与样式干预等核心能力。其中,.prop()精准映射布尔控件状态(如checked、disabled),.attr()维护HTML源码一致性,.data()提供类型安全的私有存储,.css()则覆盖内联样式、计算值读取与批量设置三

chuji3953的博客 482

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

tp5的ajax搜索后分页,修改TP5的分页类使之Ajax分页有效

Thinkphp 5.1采用Ajax分页后,首页自然不是问题,但是后续的页面链接仍然指向原地址;虽然可以取回数据,但是没有样式的渲染——因为此时的页面只有“一部分”本身就没有CSS样式!解决的办法有很多,比如重新创建分页类,或者通过Composer下载一个;但这无疑会增加系统的复杂程度,最后利用Thinkphp自带的分页类直接修改,毕竟只需要修改一下部分。具体修改如下图所示01.png 原始文件位...

weixin_30320771的博客 373

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JAVA-过滤查询

过滤查询实则是根据用户传入的条件进行数据的筛选查询,最终返回结果给用户。

cylcjsg的博客 525
上一篇: easyui的datebox控件,修改日期格式为yyyyMM
下一篇: 服务器上的日志文件不打印e.printStackTrace();信息
happy是一头小猪
博客等级 码龄12年 24粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值