2011-07-09 56 views
0

我编写了以下代码,我希望它能够遍历并显示(延迟)一系列元素。如果事实上它在IE和FireFox中做了不同的事情,但是不是我想要的!Jquery迭代

比尔^ h

======================================== ================================================== =

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<title>Test</title> 
     <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script> 

<script language="JavaScript" type="text/javascript"> 
<!-- 
$(document).ready(function() { 
    $('#ulId').children().each(
    function(){ 
     //access to form element via $(this) 
       $('#dis').hide(2000).text($(this).text()).show(2000); 
    }); 
}); 
//--> 
</script> 
</head> 
<body> 
<ul id='ulId'> 
    <li><span class='a'>Some Text1</span><img src="http://www.old-picture.com/europe/pictures/Heisterbach-ruins.jpg" alt=""></li> 
    <li><span class='a'>Some Text2</span><img src="http://www.theodora.com/wfb/photos/syria/roman_ruins_palmyra_syria_photo_gov.jpg" alt=""></li> 
    <li><span class='a'>Some Text3</span><img src="http://www.cosmos.com/Common/Images/Destinations/delphi-ruins.jpg" alt=""></li> 
</ul> 
<div id='dis' style='background-color: red; color: white'></div> 
</body> 
</html> 
+0

请将实际的代码保持原样,并使用编辑器中的{}'按钮进行格式化。你现在拥有的是不可读的。另外,请更好地描述正在发生的事情和您将要发生的事情。 – Mat

+0

是的...请更清楚你想要发生什么... – samccone

回答

0

检查了这一点,它是XML,但我认为它会为XHTML工作过,我有同样的问题,并帮我,你面对这一点,但由于IE对象结构是有点差异从其余。

var parseXml; 
    if (window.DOMParser) { 
     parseXml = function (xmlStr) { 
      return (new window.DOMParser()).parseFromString(xmlStr, "text/xml"); 
     }; 
    } else if (typeof window.ActiveXObject != "undefined" && new 
window.ActiveXObject("Microsoft.XMLDOM")) { 
     parseXml = function (xmlStr) { 
      var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM"); 
      xmlDoc.async = "false"; 
      xmlDoc.loadXML(xmlStr); 
      return xmlDoc; 
     }; 
    } else { 
     parseXml = function() { return null; } 
    } 

跳它有帮助。

0

如果你想要什么,我想你想(显示和隐藏元素顺序),这将是解决办法:

$(document).ready(function() { 
    $('#ulId').children().each(
    function(){ 
     //access to form element via $(this) 
     var html = $(this).html(); 
     $('#dis').hide(2000, function(){ 
      $(this).html(html, function(){ 
       $(this).show(2000) 
      }); 
     })   
    }); 
}); 

希望这有助于。欢呼声

+0

对不起 - 这对我没有用... –