Как проверить, не является ли элемент первым дочерним?

Если не указано иначе, команды переходят на передний план. У вас есть только один процесс «переднего плана», выполняющийся в одном сеансе оболочки. & Amp; символ указывает командам работать в фоновом процессе и немедленно возвращается в командную строку для дополнительных команд.

sh my_script.sh &

Фоновый процесс будет не оставаться в живых после закрытия сеанса оболочки , SIGHUP завершает все запущенные процессы. По умолчанию в любом случае. Если ваша команда работает долго или работает неограниченно (т. Е. Микросервис), вам нужно отложить ее без nohup, чтобы она оставалась бегущей после отключения от сеанса:

nohup sh my_script.sh &

EDIT: Появляется быть серой областью, касающейся закрытия фоновых процессов, когда & amp; используется. Просто имейте в виду, что оболочка может закрыть ваш процесс в зависимости от вашей ОС и локальных конфигураций (особенно на CENTOS / RHEL): https://serverfault.com/a/117157 .

29
задан Stephan Muller 20 September 2014 в 14:09
поделиться

9 ответов

Вы можете сделать это просто для проверки элемента, если это первый дочерний элемент: $(this).is(':first-child'). Другие селекторы, такие как :last-child, тоже будут работать.

57
ответ дан slikts 20 September 2014 в 14:09
поделиться

Вы можете просто попросить его .index() положение (относительно его братьев и сестер).

$(this).index();   // returns a zero based index position
29
ответ дан user113716 20 September 2014 в 14:09
поделиться

Проверьте индекс

$(this).index() == 0 // is first
3
ответ дан BrunoLM 20 September 2014 в 14:09
поделиться

jQuery .not ()

$(this).not(':first');
0
ответ дан Ryan Kinal 20 September 2014 в 14:09
поделиться

Кроме того, вы можете проверить, определено ли $(this).prev().length, например:

if (!$(this).prev().length){ //This means $(this is the first child
    //do stuff
}
4
ответ дан pederOverland 20 September 2014 в 14:09
поделиться

Если вы хотите выбрать все, кроме первого ребенка, вот как это сделать:

$('#some-parent').children().not(':first')
4
ответ дан jwueller 20 September 2014 в 14:09
поделиться

Будьте проще, используйте DOM


$("li").click(function(e) {

    if (this.previousSibling != null)
    {
        /* do something */
    }

});
1
ответ дан John Doherty 20 September 2014 в 14:09
поделиться
$("li").click(function(e) {
   if ($(this).index != 0 )
  {
      /* do something */
   }
});
0
ответ дан legendJSLC 20 September 2014 в 14:09
поделиться

Для всех li в #thing, которые не являются первыми детьми:

$('#thing li:not(:first-child)')

см. http://api.jquery.com/not-selector/

10
ответ дан Zaheer Ahmed 20 September 2014 в 14:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: