【问题标题】:Jquery .next IE6/7 issueJquery .next IE6/7 问题
【发布时间】:2009-11-05 22:29:35
【问题描述】:

对于一个简单的隐藏/显示推荐库的脚本,我一直遇到问题。

我认为 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 中运行良好

非常感谢您的帮助。

谢谢。

【问题讨论】:

  • 是的,给我们标记
  • 添加标记示例,它直接在选定的 li 之后抓取一个块引用并尝试“.show()”它

标签: javascript jquery html css


【解决方案1】:

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

【讨论】:

  • 就是这样!谢谢您的帮助。我真的很感谢你们对这种令人尴尬的业余错误所表现出的耐心。
  • 嘿,我只是想到它,因为我已经做过很多次了。
【解决方案2】:

.testimonial 是您在列表中指定的课程吗? &lt;ul&gt;&lt;ol&gt;

似乎您正在尝试显示下一个推荐列表,而实际上您实际上正在获得下一个&lt;li&gt;,它具有.testimonial 的类,我怀疑这是不正确的,因为您使用的是.testID作为列表项的类。

请试试这个:

$(this).parent().next(".testimonial").fadeIn("slow");

【讨论】:

  • Testimonial 是我给一个 blockquote 的一个类,它包含直接在每个列表项之后找到的推荐。我还会注意到它适用于除 IE6 和 7 之外的所有应用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
相关资源
最近更新 更多