innerHTML working in FF but not in IE!

后端 未结 3 2019
暖寄归人
暖寄归人 2020-12-20 07:31

In my JSP i am using a custom tag
like:

Date From:

and in my common.js fi

相关标签:
3条回答
  • 2020-12-20 08:05

    You need to tell IE about the tag first. Add this line somewhere before calling addDateFormatInfo():

    document.createElement("showDateFormat");
    

    IE will now initialize the element correctly - you can treat it just like any other element. Firefox does this automatically.

    Here's the source blog post:

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

    Support for createElement() starts in IE7 - though I works fine in FF3.0.15

    Full Example

    <!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>
    
    0 讨论(0)
  • 2020-12-20 08:25

    what you need a custom tag for IE, using Namespaces:

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

    and instead of plain:

    <showDateFormat/>
    

    use

    <IETag:showDateFormat/>
    

    cutom tags are much more powerful especially when bound to HTC behaviors, but unfortunately they are still IE specific, although you can manage to code something using JQUERY for all browsers, read more here: Using custom tags in IE

    0 讨论(0)
  • 2020-12-20 08:26

    Please take a look about Custom Tags support in Internet Explorer.

    Windows Internet Explorer's support for custom tags on an HTML page requires that a namespace be defined for the tag. Otherwise, the custom tag is treated as an unknown tag when the document is parsed

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

    0 讨论(0)
提交回复
热议问题