Jquery .next IE6 / 7问题

时间:2009-11-05 12:59:14

标签: javascript jquery html css

对于一个简单的隐藏/展示推荐库,我一直没有这个脚本的问题。

我认为java有点自我解释......

当页面加载时,我告诉它显示排队中的第一个推荐(因为css是display:none)并给它一个选定的类名。全面运作。

点击我希望它删除所选的类将它放到另一个,然后隐藏第一个推荐并拉出相应的推荐。除了这里发生的一切,第一个见证消失(隐藏)并添加所选的类。

<script type="text/javascript">
$(document).ready(function(){
    $(".testimonial:first").show();
    $("li.testID:first").addClass("selectedName");

    $("li.testID").click(function(){
        $("li.testID").removeClass("selectedName");
        $(this).addClass("selectedName");
        $(".testimonial").hide();
        $(this).next(".testimonial").fadeIn("slow");
    });
});
</script>

标记示例

<ul id="testName">
  <li class="testID">Persons Name</li>
    <blockquote class="testimonial">
      <span class="bqStart">&#8220;</span>
        Testimoinal here
      <span class="bqEnd">&#8221;</span><br /><br />     
      <span class="testAuthor"><b>Name</b><a target="_blank" href="#">Website</a> Company</span>
    </blockquote>

作为旁注,这在FF和Safari中运行良好

非常感谢您的帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

它可能不适用于IE,因为它不是有效的标记:你不能将块引用作为UL的直接子代,因此IE可能将它们存储在DOM树中的某个奇怪位置,这意味着.next不会找到他们。你能将blockquote元素移动到li?

答案 1 :(得分:0)

.testimonial是您给列表的课程吗? <ul><ol>

好像你正试图让下一个推荐列表显示出来,实际上你实际上正在获得下一个<li>的{​​{1}}类,我怀疑它是不正确的,因为你是使用.testimonial作为列表项的类。

请改为尝试:

.testID