0

以下代码在其他浏览器上运行良好,但在 IE7 和 8 上它抱怨它:

    var divs = $(".paginate-boxes li");
        for(var i = 0; i < divs.length; i+=9) {
          divs.slice(i, i+9).wrapAll("<li class='slide-portfolio'><ul></ul></li>");
        }

它正在处理的代码是一个长长的lis 列表,如下所示:

                        <li>
                                <!--Fade-->
                                <div class="mosaic-block fade">
                                    <a href="http://www.example.com/destination/" class="mosaic-overlay">
                                        <object class="details">

                                            <h4>Destination Page</h4>
                                            <p>
                                                                                                </p>
                                        </object>
                                    </a>
                                    <div class="mosaic-backdrop"><img width="296" height="175" src="http://www.example.com/wp-content/uploads/this_thumb.jpg" class="attachment-portfolio-image wp-post-image" alt="this_thumb" title="This image" /></div>
                                </div>
                            </li>

使用 IE9 中的开发工具(在 8 模式下),我发现它在到达.slice代码位时会抱怨,引用了 jQuery 的这一位(v.1.7.2)

// IE6-8 fail to clone children inside object elements that use
// the proprietary classid attribute value (rather than the type
// attribute) to identify the type of content to display
if ( nodeName === "object" ) {
    dest.outerHTML = src.outerHTML;
}

不确定这到底是什么意思

我需要改变什么来阻止它抛出错误,为什么?

4

1 回答 1

2

回想起来相当明显 - 替换为<object>并且<div>它工作正常。

于 2012-10-12T16:10:47.697 回答