js动态加载div innerHTML

原创 2012年03月25日 22:53:14

        最近遇到个innerHTML的问题,js动态加载div innerHTML,将div添加textarea元素(含非标准属性),并且表单在提交时采取将div innerHTML作为一个值提交到后台,再通过dom解析的方式提取出每个textarea具体数据;由于textarea数据是客户端输入,难免会遇到一些字符,dom是无法解析的,为了解决这个问题,提出的解决方案为在div数据提交到后台后,通过replaceall的方式将<textarea name="textarea1" dataid="dataid_1"></textarea>每个数据引用<![CDATA[]]>;但问题随之而来,如何替换?起初打算在每个<textarea name="textarea1" dataid="dataid_1">最后新增属性,然后按规则替换,例如:<textarea name="textarea1" dataid="dataid_1" specialchar="1">然后应用replaceall("specialchar="1">","><![CDATA["),并且将replaceall("</textarea>","]]></textarea>"),这样就解决了该问题;但在实际测试中,存在问题,每次在加载div innerHTML时候,textarea的非标准属性顺序都是在变化,textarea属性值会参与逻辑判断,并且不同的浏览器顺序显示也是不一样的;这样一来上述的实现方式就不可取了;最后是通过正则表达式来解决如下:

content = _content.replaceAll("</textarea>", "]]></data_input>");//content为innerHTML数据
     Pattern pat = Pattern.compile("<textarea(.+?)>");
     Matcher mat = pat.matcher(_content);
     String data = "";
     boolean flag = true;
     while(flag){
      if(mat.find()){
       data = mat.group(1);//获取textarea所有属性
       _content = _content.replaceFirst("<textarea.+?>", "<data_input "+data+"><![CDATA[");//每次将textarea替换为data_input
      }else{
       flag = false;
      }
     }

js innerHTML 改变div内容的方法

永远不知道你可以改变的内容,一个HTML元素?也许你要取代的文字段落中,以反映什么访客选定刚刚从下拉框中。通过操纵一个元素的innerHtml您可以变更您的文本和HTML多达你喜欢。 改变文字inn...
  • shehun11
  • shehun11
  • 2014年10月16日 10:24
  • 1047

JS:innerHTML 改变div内容例子

function changeText() { document.getElementById('boldStuff').innerHTML == 'aa'?document.getElementB...
  • u014571132
  • u014571132
  • 2017年03月16日 17:01
  • 382

利用javascript中innerhtml实现当页动态生成内容

开始接触javascript,找了很多小型的例子,其中一个就是用js实现在网页中文本框中输入表格的行数和列数,点击 生成表格按钮,即可生成相应的表格。在实现时使用如下js脚本:...
  • zhijiandiandi
  • zhijiandiandi
  • 2013年12月17日 20:13
  • 570

IE8及以下版本不支持 javascript 的table标签的innerHTML 改用div标签

//IE8及以下版本不支持 javascript 的table标签的innerHTML 改用div标签 //引起异常 html: 标题 ...
  • sinat_16998945
  • sinat_16998945
  • 2017年06月07日 15:32
  • 537

用innerHTML创建元素

用.innerHTML偷懒创建元素
  • crazy_littlepig
  • crazy_littlepig
  • 2016年05月11日 18:23
  • 727

js通过innerHTML向div中追加标签,添加后之前输入的内容都清空了解决方法

function addFile(){     var num = document.getElementById('newFileNumber').value;     var tmp ...
  • zhangqun23
  • zhangqun23
  • 2016年08月06日 14:31
  • 3389

JS脚本动态加载,以及加载完成后执行回调

document.getElementById("uccenter").innerHTML=data.ucString; var myDivScript = document.getEle...
  • shannonlee
  • shannonlee
  • 2014年01月06日 18:02
  • 3237

javascript 中innerHTML函数导致“ 未知的运行时错误”

javascript 中innerHTML函数导致“ 未知的运行时错误” 问题的现象是: 运行了 document.all["ptName"].innerHTML="产品名称"; 结果出现了错误 “ ...
  • zhengxi1988
  • zhengxi1988
  • 2011年01月17日 17:42
  • 954

Js基础第7课:通过ID获取元素、innerHTML 属性

通过ID获取元素 学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人。那么在网页中,我们通过id...
  • gaojian123321
  • gaojian123321
  • 2016年10月21日 14:59
  • 237

js中的value和innerHTML和inerText

--> 我是button--> 我是box2的内容 ...
  • gyq04551
  • gyq04551
  • 2016年11月20日 17:36
  • 136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js动态加载div innerHTML
举报原因:
原因补充:

(最多只允许输入30个字)