Простыми словами,
blockquote>
$(document).ready
- событие, которое срабатывает, когдаdocument
готов.Предположим, вы разместили свой jQuery кода в секции
head
и попытке доступа к элементуdom
(якорь, img и т. д.), вы не сможете получить к нему доступ, потому чтоhtml
интерпретируется сверху вниз, а ваши html-элементы отсутствуют, если ваш jQuery-код запускается.Чтобы преодолеть эту проблему, мы помещаем каждый код jQuery / javascript (который использует DOM) внутри функции
$(document).ready
, которая вызывается, когда доступны все элементыdom
.И именно поэтому, когда вы помещаете свой код jQuery внизу (после всех элементов dom, непосредственно перед
</body>
), нет необходимости в$(document).ready
. Существует нет необходимости размещать метод
on
внутри$(document).ready
только тогда, когда вы используетеon
метод наdocument
по той же причине, что я объяснил выше.//No need to put inside $(document).ready $(document).on('click','a',function () { }) // Need to put inside $(document).ready if placed inside <head></head> $('.container').on('click','a',function () { });
EDIT
Из комментариев
$(document).ready
не дожидается изображений или скриптов. Это большая разница между$(document).ready
и$(document).load
- . Только код, который обращается к DOM, должен быть в готовом обработчике. Если это плагин, он не должен находиться в готовом событии.
getConnection()
в Doctrine возвращает PDO, который он оборачивает, что означает, что мы можем использовать getColumnMeta()
для получения имен столбцов:
$stmt = $sql->execute();
$columnNames = array();
foreach(range(0, $stmt->columnCount() - 1) as $index) {
$columnNames[] = $stmt->getColumnMeta($index)['name'];
}
$columnNames
могут быть добавлены к ваш $result