我正在创建一个表单,并希望能够根据需要使用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>
使用JavaScript,当这些实例位于该部分的每个输入标记中时,更换Section_1
的每个实例的优雅方法是什么?
我在CMS的范围内工作,所以我无法使用更强大的处理语言来实现它。
答案 0 :(得分:1)
您可以在DOM节点上调用getElementsByTagName
来获取由标记标识的某些元素组。
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