QA@IT
«回答へ戻る

942
     $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
 });
 ```
+
+`eq(N)` もセレクタにできます。
+
+```js
+$('#test li').each(function(i){
+    $(this).children('input:text:eq(0)').attr('name', 'ccc[' + i + ']');
+    $(this).children('input:text:eq(1)').attr('name', 'ddd[' + i + ']');
+});
+```
var len = ('#test li').length;

$ が抜けています。

var len = $('#test li').length;

    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');

[0][1] ではなく eq(0)eq(1) です。

    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');

まとめると下記の通りです。

var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}

ただ jQuery を使うなら for より each の方が良いと思います。

$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});

さらに <input type="text"> なら :text セレクタにできます。

$('#test li').each(function(i){
    $(this).children('input:text').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
});

eq(N) もセレクタにできます。

$('#test li').each(function(i){
    $(this).children('input:text:eq(0)').attr('name', 'ccc[' + i + ']');
    $(this).children('input:text:eq(1)').attr('name', 'ddd[' + i + ']');
});
```js
var len = ('#test li').length;
```

`$` が抜けています。

```js
var len = $('#test li').length;
```

---

```js
    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');
```

`[0]` や `[1]` ではなく `eq(0)` や `eq(1)` です。

```js
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
```

---

まとめると下記の通りです。

```js
var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}
```

ただ jQuery を使うなら for より each の方が良いと思います。

```js
$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});
```

さらに `<input type="text">` なら `:text` セレクタにできます。

```js
$('#test li').each(function(i){
    $(this).children('input:text').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
});
```

`eq(N)` もセレクタにできます。

```js
$('#test li').each(function(i){
    $(this).children('input:text:eq(0)').attr('name', 'ccc[' + i + ']');
    $(this).children('input:text:eq(1)').attr('name', 'ddd[' + i + ']');
});
```

942
     $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
 });
 ```
+
+さらに `<input type="text">` なら `:text` セレクタにできます。
+
+```js
+$('#test li').each(function(i){
+    $(this).children('input:text').eq(0).attr('name', 'ccc[' + i + ']');
+    $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
+});
+```
var len = ('#test li').length;

$ が抜けています。

var len = $('#test li').length;

    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');

[0][1] ではなく eq(0)eq(1) です。

    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');

まとめると下記の通りです。

var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}

ただ jQuery を使うなら for より each の方が良いと思います。

$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});

さらに <input type="text"> なら :text セレクタにできます。

$('#test li').each(function(i){
    $(this).children('input:text').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
});
```js
var len = ('#test li').length;
```

`$` が抜けています。

```js
var len = $('#test li').length;
```

---

```js
    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');
```

`[0]` や `[1]` ではなく `eq(0)` や `eq(1)` です。

```js
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
```

---

まとめると下記の通りです。

```js
var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}
```

ただ jQuery を使うなら for より each の方が良いと思います。

```js
$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});
```

さらに `<input type="text">` なら `:text` セレクタにできます。

```js
$('#test li').each(function(i){
    $(this).children('input:text').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input:text').eq(1).attr('name', 'ddd[' + i + ']');
});
```

回答を投稿

var len = ('#test li').length;

$ が抜けています。

var len = $('#test li').length;

    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');

[0][1] ではなく eq(0)eq(1) です。

    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');

まとめると下記の通りです。

var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}

ただ jQuery を使うなら for より each の方が良いと思います。

$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});
```js
var len = ('#test li').length;
```

`$` が抜けています。

```js
var len = $('#test li').length;
```

---

```js
    $('#test li').eq(i).children('input[type="text"]')[0].attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]')[1].attr('name', 'ddd[' + i + ']');
```

`[0]` や `[1]` ではなく `eq(0)` や `eq(1)` です。

```js
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
```

---

まとめると下記の通りです。

```js
var len = $('#test li').length;
for (var i = 0; i < len; i++) {
    $('#test li').eq(i).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $('#test li').eq(i).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
}
```

ただ jQuery を使うなら for より each の方が良いと思います。

```js
$('#test li').each(function(i){
    $(this).children('input[type="text"]').eq(0).attr('name', 'ccc[' + i + ']');
    $(this).children('input[type="text"]').eq(1).attr('name', 'ddd[' + i + ']');
});
```