我想替换标签的值
<h2>..</h2>
与标签的内容
<h3>..<h3>
我是这样写脚本的,
<!DOCTYPE html>
<html>
<body>
<div>
<h3><span><!-- Start Component Field: {"XPath":"tcm:Content/custom:Content/custom:addwidget[1]/custom:text[1]"} -->
<strong>Section Text</strong>
</span> </h3>
<h2>
<a title="Google" href="http://google.com">google.com</a>
</h2>
</div>
<script type="text/javascript">
var x=document.getElementsByTagName("div");
for (var i=0; i<x.length; i++) {
var children = x[i].getElementsByTagName('h2');
var demo= children["demo"].innerHTML;
var childd =x[i].getElementsByTagName('h3');
var all=childd["all"].innerHTML;
children["demo"].childNodes[0].innerHTML=all;
childd["all"].innerHTML=null;
}
</script>
</body>
</html>
规则:
在上面的示例中,我想将“google.com”替换为 <h3>
中的文本。标签。
但我没有得到输出。
需要输出。
<!DOCTYPE html>
<html>
<body>
<div>
<h2>
<a title="Google" href="http://google.com">
<span><!-- Start Component Field: {"XPath":"tcm:Content/custom:Content/custom:addwidget[1]/custom:text[1]"} -->
<strong>Section Text</strong>
</span>
</a>
</h2>
</div>
</body>
</html>
我没有得到确切的输出。 我使用了 for 循环,因为我想对每次出现的 div 标记执行此操作。
任何人都可以调查一下并建议如何纠正它。
谢谢。
最佳答案
这应该很简单:
document.getElementById('demo').innerHTML = document.getElementById('all').innerHTML;
编辑:使用新的 HTML 代码,您可以替换所有 <h2>
与<h3>
就像这样。
var divs = document.getElementsByTagName('div');
for(var i = 0, len = divs.length; i < len; i++){
var div = divs[i],
h2 = div.getElementsByTagName('h2'),
h3 = div.getElementsByTagName('h3');
if(h2.length === 1 && h3.length === 1){
h2[0].innerHTML = h3[0].innerHTML;
}
}
关于javascript - 使用Java脚本用另一个标签替换标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11183439/