0
我的代码工作正常,IE版本9以上。但在IE 10和Mozilla和Chrome打破。在IE 10和其他浏览器中打破JS代码
做了一些firebugging后,我发现这是由于JS中的问题不起作用。
下面是代码:
function FillAlbumList()
{
var tagNameTest = ''AlbumTable'';
var dsRoot = objXMLHTTP.responseXML.documentElement;
var tagname = dsRoot.getElementsByTagName(tagNameTest);
var optEquipment = dsRoot.getElementsByTagName("AlbumTable");
var tblAlbumList = document.getElementById('tblAlbumList').getElementsByTagName("tbody")[0];
var rows = tblAlbumList.rows.length;
var tblID = document.getElementById('dlOptFeature').getElementsByTagName("tbody")[0];
var optArray = new Array();
if(tagname.context.childNodes(0) != null)
{
gTotalAlbumCount = tagname.context.childNodes(0).parentNode.childNodes.length;
// find the first album ID from list of Albums
fstID = dsRoot.getElementsByTagName("fstAlbumID").context.childNodes(0).childNodes(1).text;
// find the first album name from list of Albums
fstName = dsRoot.getElementsByTagName("fstAlbumName").context.childNodes(0).childNodes(0).text;
// loop through each node from XML object and populate value inside the table.
for(var i=0;i<tagname.context.childNodes(0).parentNode.childNodes.length;i++)
{
if (tagname.context.childNodes(i).tagName == "AlbumTable")
=========================
这里dsRoot
是:
<Album>
<AlbumTable>
<AlbumName>1B0EE6DBB8FE_18-20-25</AlbumName>
<AlbumId>3</AlbumId>
<UploadedDate>12/3/2013 6:20:48PM</UploadedDate>
<TotalImages>10</TotalImages>
<RemainingImages>10</RemainingImages>
</AlbumTable>
<AlbumTable>
<AlbumName>1B0EE6DBB8FE_18-01-32</AlbumName>
<AlbumId>2</AlbumId>
<UploadedDate>12/3/2013 6:02:01 PM</UploadedDate>
<TotalImages>10</TotalImages>
<RemainingImages>10</RemainingImages>
</AlbumTable>
<fstAlbumID>3</fstAlbumID>
<fstAlbumName>1B0EE6DBB8FE_18-20-25</fstAlbumName>
</Album>
=========================
的代码是打破后:
tagname.context.childNodes(0)
=>tagname.context
未定义。
我改变了这个:tagname(0)
,它在IE 10中工作,但它没有在IE8中工作。
任何建议如何推进这里的变化,使其无处不在。