jQuery nth-child селектор не работает - PullRequest
7 голосов
/ 26 июля 2011

У меня есть идентификатор div (аукционы), и я хочу поменять HTML с дочерними элементами аукциона.Тем не менее, jQuery не может выбрать дочерних элементов списка аукциона.

Вот HTML:

<div id="all">      
    <div id="auctions"></div>
</div>

<div id="auction-list" class="hide">
    <div class="auction">Test</div>
    <div class="auction">Test</div>
</div>

Вот jQuery:

alert($("#auction-list").children().length);
alert($("#auction-list").html());
alert($("#auction-list:nth-child(1)").html());
alert($("#auction-list:nth-child(2)").html());
$("#auctions").html($("#auction-list:nth-child(1)").html());

А вотвыходы для предупреждений Javascript:

Первое оповещение

2

Второе оповещение

<div class="auction">Test</div>
<div class="auction">Test</div>

ТретьеОповещение

null

Что я здесь пропускаю?

Ответы [ 5 ]

21 голосов
/ 26 июля 2011

Вам нужен пробел между вашими селекторами, например:

alert($("#auction-list :nth-child(1)").html());
//                    ^-- Space here

С вашим селектором он ищет элемент #auction-list, который является 1-м дочерним элементом другого элемента, когда вы на самом деле ищете элемент, являющийся n-м дочерним элементом списка.

2 голосов
/ 26 июля 2011

Не думаю, что вы должны использовать селектор :nth-child для идентификатора элемента. Это должен быть классифицированный предмет

как *; 1004 *

alert($("div.auction-item:nth-child(1)").html());
0 голосов
/ 29 июня 2016

У меня была проблема, при которой событие click срабатывало нормально в IE и chrome, но не в FirefoxЯ пропустил опечатку.Думал, что поделюсь, если это кому-нибудь поможет.

 $(document).ready(function () {
    $(".test table tr:nth-child(1n+2").click(function () {
            alert(this.id); 
        });
});

Мне не хватало) после +2.

JSFiddle: https://jsfiddle.net/xv3bca60/7/

0 голосов
/ 26 июля 2011
alert($("#auction-list").children().length);
alert($("#auction-list").html());
alert($("#auction-list div:nth-child(1)").html());
alert($("#auction-list div:nth-child(2)").html());
$("#auctions").html($("#auction-list:nth-child(1)").html());
0 голосов
/ 26 июля 2011

Попробуйте следующее:

$("#auction-list > .auction:nth-child(2)")

Взгляните на документы . Вы пытаетесь выбрать n-й элемент #auction-list вместо его дочерних элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...