将nth-child放入var

时间:2013-05-29 15:11:35

标签: jquery jquery-selectors

您可以将变量放在nth-child中,如下所示:

var myVar = $(elem);
$("div:nth-child(" + myVar + ")");

但是如何将nth-child的值放在var中呢?我不认为nth-child是合适的术语,但我不知道还有什么可以称之为。 我的意思是:获取元素的子元素并将其放入var。

例如,看看这个fiddle: 的 HTML

<div>
  <p>Text 1</p>
  <p>Text 2</p>
  <p>Text 3</p>
</div>

<button>1</button>
<button>2</button>
<button>3</button>

的jQuery

$("button").click(function() {
    var $this = $(this),
        thisNumber = // which child is it? as a numeric value;

        $("p:nth-child(" + thisNumber + ")").toggle("fast");
});

3 个答案:

答案 0 :(得分:4)

$(this).index()

有时候,解决方案比你想象的要简单得多;)

答案 1 :(得分:4)

你过度复杂了:),你不需要任何变量,只需要$(this).index()

DEMO

$("button").click(function() {
  $("p:nth-child(" + $(this).index() + ")").toggle("fast");
});

答案 2 :(得分:3)

我想你想要这样的东西:

$("button").click(function() {
    $("p:nth-child(" + $(this).index() + ")").toggle();
});

演示:http://jsfiddle.net/KFXnN/3/