1

我有这个代码

        <ul>
            <li><a href="index.php">Web Development</a></li>
                <span data-landing_count="1">
                    <li class="subli"><a href="1.html">E-shop</a></li>
                    <li class="subli"><a href="2.html">Prezentations</a></li>
                    <li class="subli"><a href="3.html">Custom CMS</a></li>
                    <li class="subli"><a href="4.html">WordPress & Joomla!</a></li>
                    <li class="subli"><a href="5.html">Web apps</a></li>
                    <li class="subli lastsl"><a href="index-b.html">Design</a></li>
                </span>
            <li><a href="6.html">E-courses</a></li>
                <span data-landing_count="2">
                    <li class="subli"><a href="7.html">Design & Graphics</a></li>
                    <li class="subli lastsl"><a href="8.html">Web Development</a></li>
                </span>
            <li><a href="9.html">SEO</a></li>
                <span data-landing_count="3">
                    <li class="subli"><a href="91.html">On-page SEO</a></li>
                    <li class="subli"><a href="92.html">W3C validation</a></li>
                    <li class="subli"><a href="93.html">Linking</a></li>
                    <li class="subli lastsl"><a href="94.html"><img src="img/star.png" alt="star" width="12" class="star">Copywriting</a></li>
                </span>
            <li data-landing_count="4"><a href="95.html">Web hosting</a></li>
            <li data-landing_count="5"><a href="96.html"><img src="img/star.png" alt="star" width="12" class="star">Pricing</a></li>
            <li data-landing_count="6"><a href="97.html">Contact us</a></li>
        </ul>

有 3 个跨度,我现在可以使用 .first() 定位第一个跨度,使用 .last() 定位最后一个跨度。但是我如何瞄准中间的呢?

谢谢您的回复

4

4 回答 4

6

你可以使用:

$('span').eq(1);

使用eq()方法或选择器:

$('span:eq(1)');

或者:

$('span').slice(1,-1);

但是请注意,您的 HTML 是无效的:唯一可以包装li元素的元素是 aul或 an ol

参考:

于 2012-07-11T10:26:06.417 回答
2
$('ul span').not(':first,:last');

jsFiddle 演示

请注意,您的 HTML 完全损坏。你应该先学习 HTML,因为这只会导致神秘的问题和被低估的 StackOverflow 问题。

li只能是ulor的孩子ol。而且,ul并且ol只能有lis 作为他们的孩子。您不能span按照您的方式将 s 放在 HTML 中。

于 2012-07-11T10:26:36.603 回答
0

您可以使用以下方法修复它:

.eq(1)

它应该工作。

如果您想获取for从第二个元素迭代到前结束元素时可以使用的所有元素;

于 2012-07-11T10:25:49.787 回答
0

首先,您的 HTML 是BAD。不要在<span>标签之间放置<li>标签。只会以灾难收场。

其次,您是否以这些为目标以提供不同的风格?如果是这样,那么为什么不使用 css:first-child:last-child选择器。这样您就可以设计第一个和最后一个而不是介于两者之间的样式。

于 2012-07-11T10:27:10.097 回答