HTMLページにカスタム要素があります。いくつかの変更を加えるために、私はJavaScriptを書いた。JavaScriptを使用してカスタムHTML要素を読み取ることがIEで機能していません
これにカスタム要素があります。これらの要素は意図的に追加されています。
サンプルソース:必要
<div>
<br />
<a name="IDATLQHE"></a>
<h2 class="subhead" xmlns="">
<dev>
<dd>
<span>abcd</span>
</dd>
<rr>
<span>
<a title="google" href="http://google.com">google.com</a>
</span>
</rr>
</dev>
</h2>
</div>
出力:
私は<dd>
要素の内容と<rr>
要素に<a>
要素の内容を交換したいです。 (要素<rr>
、<dd>
と<dev>
がカスタム要素です。)書か
はJavaScript:
<script type="text/javascript">
var devs = document.getElementsByTagName('dev');
for(var i = 0, len = devs.length; i < len; i++)
{
var dev = devs[i],
h2 = dev.getElementsByTagName('rr'),
h3 = dev.getElementsByTagName('dd');
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;
}
}
}
</script>
このスクリプトは、Firefoxではなく、IEで正常に動作しています。
編集:
HTML要素を追加して別のクラス属性を追加した後。私はまだ同じ問題に直面しています
<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;
}
}
}
:
<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>
はJavaスクリプトを修正しました。 IE(バージョン8)では動作しません。
IEとFirefoxの両方で動作するように変更することを提案する人はいますか?
'':Microsoftはこれをしたいと思う方法についてのデータについては
が、これを見て持っていますか? – coolguy
@ubercooluk:User 222がなんらかの理由で作成したカスタムHTML要素です。 –
どのバージョンのInternet Explorerに問題がありますか? –