Jquery迭代

时间:2011-07-09 07:41:22

标签: jquery

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

Bill 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>

2 个答案:

答案 0 :(得分:0)

检查一下,它是针对XML的,但我认为它也适用于XHTML,我有同样的问题,这对我有帮助,你面对这个但是因为IE对象结构与其余部分有点不同。 / p>

    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; }
    }

跳吧帮助。

答案 1 :(得分: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)
           });
        })        
    });
});

希望这会有所帮助。干杯