JQuery在一个iframe中找到一个带有类的嵌套ul并替换它

时间:2013-02-04 16:39:12

标签: jquery

我有一个iframe,里面有嵌套的无序列表。我想找到具有“扩展”类的嵌套ul并将其更改为“折叠”。

<iframe id='Catalog'>
  <html>
    <body>
      <ul id='items'>
        <li><ul></ul></li>
        <li><ul class='expanded'></ul></li>
        <li><ul></ul></li>
      </ul>
    </body>
  </html>
</iframe>

我尝试了很多东西,但还没有完全正确。

以下是我想要获得的一个示例:

$('iframe#Catalog')
            .contents()
            .find('ul#items li ul')
            .hasClass('expanded')
            .removeClass('expanded')
            .addClass('collapsed');

提前致谢!

2 个答案:

答案 0 :(得分:1)

hasClass返回一个布尔值,它不会过滤元素,你可以使用类选择器。

$('#Catalog')
          .contents()
          .find('ul.expanded')
          .removeClass('expanded')
          .addClass('collapsed');

答案 1 :(得分:0)

您的jQuery代码是在iframe中还是在iframe之外? 如果您的代码在iframe之外,在容器页面上我认为出于安全原因您无法访问iframe中的html。 如果您将代码(如果可能的话)移动到iframe内容,那么它应该可以工作。