0

您可以像这样在 nth-child 中放置一个变量:

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

但是如何将 nth-child 的值放入 var 中呢?我不认为 nth-child 是合适的术语,但我不知道还能叫它什么。我的意思是:获取元素是哪个子元素并将其放入 var 中。

例如,看看这个小提琴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");
});
4

3 回答 3

4

$(this).index()

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

于 2013-05-29T15:14:55.807 回答
4

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

演示

$("button").click(function() {
  $("p:nth-child(" + $(this).index() + ")").toggle("fast");
});
于 2013-05-29T15:15:01.237 回答
3

我想你想要这样的东西:

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

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

于 2013-05-29T15:15:08.597 回答