1

Firefox / Opera / Safari / Chromeとは異なり、IE 6/7/8で「myns:button」が赤くならないのはなぜですか?

<html>
    <head>
        <script type="text/javascript">
            window.onload = function() {
                var tmp = document.getElementsByTagName('myns:button');

                for (i = 0; i < tmp.length; i++) {
                    tmp[i].style.color = '#FF0000';
                }
            };
        </script>
    </head>
    <body>
        <myns:button>My NS Button</myns:button>
    </body>
</html>

私はすでに私のjsに以下を追加しようとしました:

document.createElement('myns:button');

しかし、それはIEでは機能しません。なぜですか?ありがとう。

4

3 に答える 3

2

他の人と同じように、私はあなたがこれをしないことを本当にお勧めします。だが ...

あなたが本当にしたい、そしてあなたが検証についてあまり心配していないなら、あなたはすることができます:

<html xmlns:myns='http://www.example.com/namespaces'>
    <head>
        <script type="text/javascript">
            window.onload = function() {
                 var tmp = document.getElementsByTagName(
                         (typeof document.body.scopeName == "undefined") ? 
                              'myns:button' : 'button');

                 for (i = 0; i < tmp.length; i++) {
                    if ((typeof tmp[i].scopeName == "undefined") || 
                            (tmp[i].scopeName == 'myns'))
                       tmp[i].style.color = '#FF0000';
                 }
            };
        </script>
    </head>
    <body>
        <myns:button>My NS Button</myns:button>
    </body>
</html>

http://www.example.com/namespacesを独自の名前空間名に変更します。

最新バージョンのFF、Chrome、Opera、およびIE6、IE7、IE8でテスト済み。

IEでこれがどのように機能するかについては、開始点としてhttp://msdn.microsoft.com/en-us/library/ms534388%28VS.85%29.aspxを参照してください。

于 2010-05-30T11:13:03.000 に答える
1

非標準のDOM要素が必要な理由はわかりませんが、異なる外観(赤いテキスト)のボタンを作成する必要がある場合、一般的なHTMLの方法は、クラス属性を使用してボタンのスタイルを設定することです。CSS

<style type="text/css">
    .mynsbutton {color: #ff0000;}
</style>

<input type="button" class="mynsbutton" value="My Button" />

その後、さらに処理するためにjavascriptを使用してすべてのmynsbutton-elementsを検索する必要がある場合は、jQuery -libraryを調べるか、インターネット上の準備が整ったコードスニペットの1つを使用して、mynsbutton-classを含むすべての要素を検索できます。

于 2010-05-30T09:44:11.117 に答える
1

myns:buttonは有効なHTMLタグではなく、ブラウザはそれを異なる方法で解釈する可能性があります。

于 2010-05-30T09:04:41.750 に答える