2010-05-30 25 views
0

爲什麼我的「myns:button」在IE 6/7/8中不會變成紅色,與Firefox/Opera/Safari/Chrome不同?在html標記中使用冒號並在javascript中處理其元素

<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工作,爲什麼? 謝謝。

+0

什麼是「myns:button」?更重要的是,瀏覽器如何知道它是什麼? – 2010-05-30 09:05:10

+0

是否在此文檔中添加了DTD?請參閱http://htmlhelp.com/tools/validator/customdtd.html - 不建議使用根據http://www.w3.org/Style/customdtd的自定義DTD tho – cryo 2010-05-30 09:08:52

回答

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的測試。

請參閱http://msdn.microsoft.com/en-us/library/ms534388%28VS.85%29.aspx作爲有關如何在IE中工作的信息的起始位置。

1

myns:button不是一個有效的HTML標記,瀏覽器可能會以不同的方式解釋它。

+0

您是否有任何解決方案來處理它在IE中的JavaScript? – Fabien 2010-05-30 09:06:28

+0

是的,使用像'

+0

那麼,如何backbase js庫在IE中工作? – Fabien 2010-05-30 09:08:42

1

我不知道爲什麼需要一個非標準的DOM元素,但如果要求使用不同的外觀(紅色文本)的按鈕,常見的HTML方式將是使用類屬性和風格CSS按鈕:

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

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

然後,如果您需要找到所有mynsbutton元素使用Javascript一些處理,你可以看着jQuery -library,或使用ready snippets of code on the internet的一個找到的所有元素與你的mynsbutton類。

相關問題