1

私のJSPでは、次の<showDateFormat/>
ような カスタムタグを使用しています。

Date From:<showDateFormat/>

そして私のcommon.jsファイルで私は持っています

function addDateFormatInfo(){
    var dateFormatHolder = document.getElementsByTagName("showDateFormat"); 
    if ( dateFormatHolder ){        
        for ( i = 0 ; i < dateFormatHolder.length; i++ ){
            dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';                       
        } 
    }
}

そのため、私のページではshowDateFormat、タグが使用されている場所であればどこでも、が表示されます(mm/dd/yyyy)。FFでは正常に動作していますが、IEでは正常に動作していません。何が問題なのか?

4

3 に答える 3

5

最初にタグについてIEに伝える必要があります。呼び出す前に、この行をどこかに追加してくださいaddDateFormatInfo()

document.createElement("showDateFormat");

IEは要素を正しく初期化するようになりました。他の要素と同じように扱うことができます。Firefoxはこれを自動的に行います。

ソースブログの投稿は次のとおりです。

http://ajaxian.com/archives/getting-html-5-styles-in-ie-7

IE7での起動のサポートcreateElement()-FF3.0.15では正常に動作しますが

完全な例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Home | My Website</title>
    </head>
    
    <body>

<script type="text/javascript">

document.createElement("showDateFormat");

function addDateFormatInfo(){
    var dateFormatHolder = document.getElementsByTagName("showDateFormat");     
    if ( dateFormatHolder ){        
    
        for ( i = 0 ; i < dateFormatHolder.length; i++ ){
                dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';                                               
        } 
    }
}

</script>

<div>
Date From:<showDateFormat/>
</div>
<div>
Date From:<showDateFormat/>
</div>

<div>
Date From:<showDateFormat/>
</div>

<div>
Date From:<showDateFormat/>
</div>


<p><input type="button" value="click me" onclick="addDateFormatInfo()" />
</p>

</body>

</html>
于 2009-11-26T07:34:56.643 に答える
0

名前空間を使用して、IEのカスタムタグが必要なもの:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:IETag>

プレーンの代わりに:

<showDateFormat/>

使用する

<IETag:showDateFormat/>

cutomタグは、特にHTCの動作にバインドされている場合、はるかに強力ですが、残念ながら、IE固有ですが、すべてのブラウザーでJQUERYを使用して何かをコーディングすることはできますが、詳細はこちらをご覧ください: IEでのカスタムタグの使用

于 2009-11-26T08:02:06.713 に答える
0

InternetExplorerでのカスタムタグのサポートについて見てください。

Windows Internet ExplorerでHTMLページのカスタムタグをサポートするには、タグに名前空間を定義する必要があります。それ以外の場合、カスタムタグは、ドキュメントが解析されるときに不明なタグとして扱われます

http://msdn.microsoft.com/en-us/library/ms531076(VS.85).aspx

于 2009-11-26T07:44:03.290 に答える