0

我正在创建一个表单,并希望能够根据需要使用 javascript 复制某些 DIV。但是,我需要替换某段文本的多个实例。像这样用功能代码替换注释的东西:

<body>

   <div id="duplicate">
      <p>Section_1 of form</p>
      <a href="javascript:add_section()">Add A Section</a>
   </div>

   <script type="text/javascript">
   <!--
      var num_sections = 1;
      function add_section()
      {

         var orig_div=document.getElementById("duplicate")
         var copy_div=orig_div.cloneNode(true);

         //Change every "Section_1" in copy_div to "Section_"+num_sections

         footer = document.getElementById("footer");
         document.body.insertBefore(copy_div,footer);

      }

   //-->
   </script>

   <div id="footer"></div>

</body>

Section_1使用 JavaScript,当这些实例位于节内的每个输入标记中时 ,替换每个实例的优雅方法是什么?

我在 CMS 的范围内工作,所以我无法使用更强大的处理语言来实现它。

4

1 回答 1

1

您可以调用getElementsByTagNameDOM 节点来获取标签标识的一些元素组。

var num_sections = 1;
window.add_section = function() {
    var orig_div=document.getElementById("duplicate")
    var copy_div=orig_div.cloneNode(true);

    //Change every "Section_1" in copy_div to "Section_"+num_sections
    num_sections++;
    var p = copy_div.getElementsByTagName('p')[0];
    p.innerHTML = p.innerHTML.replace('Section_1', 'Section_' + num_sections);

    var footer = document.getElementById("footer");
    document.body.insertBefore(copy_div,footer);
};

这是jsFiddle

于 2013-03-27T17:40:05.303 回答