【问题标题】:Class systems with nth-of-type具有第 n 个类型的类系统
【发布时间】:2014-02-03 09:46:18
【问题描述】:

我对 nth-of-type 函数实际上应该如何工作感到困惑。我不知道我是否编码错误,因为我无法让它正常运行。这是我的结构-(已更新)

<div id="wrapper">

        <div id="slider">

            <div class="slide"> <a href="link> <img src="imglink" alt="Slide1">

                <div class="slide-block">
                    <h4>Header</h4>

                    <p>Subtext</p>
                </div> 
              </a>   
            </div>

            <div class="slide"> <a href="link"> <img src="imglink" alt="Slide2">
                <div class="slide-block">
                    <h4>Header</h4>
                    <p>Subext</p>
                </div>
              </a>  
            </div>

            <div class="slide"> <a href="link"> <img src="imglink" alt="Slide3">
                <div class="slide-block">
                    <h4>Header</h4>
                    <p>subtext</p>
                </div>
              </a>  
            </div>

        </div>  

    </div>

我正在尝试选择第 n(2) 个“幻灯片”类,但它总是会选择第一个“幻灯片”类。

        $('#thumbnails').click(function() {
                $('#slider').trigger('slideTo', $( "class.slider slide:nth-of-type(2))") );

        });
    }); 

在 Firefox 中,我只能选择第一类类型,而不是第二类。我在这里做错了什么?

【问题讨论】:

  • 首先,ID 必须是唯一的。
  • nth-of-type 仅适用于元素类型
  • 它也适用于类。

标签: jquery css class css-selectors


【解决方案1】:

首先,伙计,您并没有终止您的 HTML 标签:

 <div id="slider">
 <div class="slide">
     <a href="link"><img src="imglink">
 <div class="slide-block">
 <h4>Text</h4>
 <p>Subtext</p>

你知道这有什么问题吗?浏览器无法识别.slider 的孩子,因为 无法识别.slider 的孩子。

如果你不知道如何解决这个问题

Div 是这样的:

<div class='slider'><!-- content inside --></div>

Sooo...有什么问题?

不正确的 HTML 格式可以很好地隐藏 HTML 结构中的缺陷。格式正确,看看你的代码:

<div id="wrapper">
  <div id="slider">
    <div class="slide">
      <a href="link"><img src="imglink">
        <div class="slide-block">
          <h4>Text</h4>
          <p>Subtext</p>
        </div>
      </a>
    </div>
    <div id="slider">
      <div class="slide">
        <a href="link"><img src="imglink">
          <div class="slide-block">
            <h4>Text</h4>
            <p>Subtext</p>
          </div>
        </a>
      </div>
      <div id="slider">
        <div class="slide">
          <a href="link"><img src="imglink">
            <div class="slide-block">
              <h4>Text</h4>
              <p>Subtext</p>
            </div>
          </a>
        </div>

您是否看到包装器和第一部分从未正确终止?浏览器可能对如何解释您的 HTML 感到非常困惑。

如何处理

这是我们为您分配下一个任务的地方。好的 Stack Overflow 问题意味着你已经做了体面的工作来尝试自己解决问题。研究如何正确格式化此代码,然后它应该可以解决您的问题。

【讨论】:

  • 除了指出 HTML 中的一个缺陷之外,这实际上是如何回答这个问题的?可能应该是评论。
  • 这就是代码将如何与我已有的代码一起工作。我错过了一个
    来关闭滑块标签
  • @j08691 我更新了我的答案。但是,我不希望 Cameo 成为帮助吸血鬼,所以我为他指出了解决他自己问题的正确方向。
  • 另外,我不能为所有内容设置唯一的 ID 标签,因为滑块无法正确识别“幻灯片”类别,因此它可以“滑动到”它
  • 是的,@CameoCream,也要解决这个问题。
  • 猜你喜欢
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    相关资源
    最近更新 更多