示例来源:
<div>
<br />
<a name="IDATLQHE"></a>
<h2 class="subhead" xmlns="">
<div class="dummy">
<div class="dummyy">
<span>abcd</span>
</div>
<div class="dummyyy">
<span>
<a title="google" href="http://google.com">google.com</a>
</span>
</div>
</div>
</h2>
</div>
需要输出:
我想将<a>
元素中的<div class="dummyyy">
元素的内容替换为<div class="dummyy">
元素的内容。
JavaScript编写:
<script type="text/javascript">
var divs = document.getElementsByClassName('dummy');
for(var i = 0, len = divs.length; i < len; i++)
{
var div = divs[i],
h2 = div.getElementsByClassName('dummyyy'),
h3 = div.getElementsByClassName('dummyy');
if(h2.length === 1)
{
var aa= h2[0],
aaa=aa.getElementsByTagName('a');
if(h2.length === 1 && h3.length === 1)
{
aaa[0].innerHTML = h3[0].innerHTML;
h3[0].innerHTML=null;
}
}
}
这个脚本在Firefox中工作正常,但在IE中却没有。
错误:
getElementsByClassName
aaa=aa.getElementsByTagName('a')
任何人都可以为此提供帮助。
由于
答案 0 :(得分:3)
getElementsByClassName
。如果您不需要IE7支持,则可以将其替换为div.querySelectorAll(".dummyy")
答案 1 :(得分:0)
getElementsByClassName()
由除IE8及更早版本之外的所有当前浏览器实现。 IE8支持querySelectorAll()