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 に答える