Как получить первый дочерний идентификатор внутри div, используя JQuery

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

function runQuery(PDO $PDO, string $sql, array $params = [])
{
    if (!count($params)) {
        return $PDO->query($sql);
    }

    foreach ($params as $key => $values) {
        if (is_array($values)) {
            // get placeholder from array, e.g. ids => [7,12,3] would be ':ids'
            $oldPlaceholder  = ':'.$key;
            $newPlaceholders = '';
            $newParams = [];
            // loop through array to create new placeholders & new named parameters
            for($i = 1; $i <= count($values); $i++) {
                // this gives us :ids1, :ids2, :ids3 etc
                $newKey = $oldPlaceholder.$i;
                $newPlaceholders .= $newKey.', ';
                // this builds an associative array of the new named parameters
                $newParams[$newKey] = $values[$i - 1];
            }
            //trim off the trailing comma and space
            $newPlaceholders = rtrim($newPlaceholders, ', ');

            // remove the old parameter
            unset($params[$key]);

            // and replace with the new ones
            $params = array_merge($params, $newParams);

            // amend the query
            $sql = str_replace($oldPlaceholder, $newPlaceholders, $sql);
        }
    }

    $statement = $PDO->prepare($sql);
    $statement->execute($params);
    return $statement;
}

Например, передавая их в:

SELECT * FROM users WHERE userId IN (:ids)

array(1) {
  ["ids"]=>
  array(3) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(3)
  }
}

Становится:

SELECT * FROM users WHERE userId IN (:ids1, :ids2, :ids3)

array(3) {
  [":ids1"]=>
  int(1)
  [":ids2"]=>
  int(2)
  [":ids3"]=>
  int(3)
}

Это не пуленепробиваемый, но, как единственный разработчик для моих потребностей, он отлично работает, пока все равно.

13
задан casperOne 2 May 2011 в 00:44
поделиться

3 ответа

$("#id1:first-child").attr("id")
24
ответ дан 1 December 2019 в 17:24
поделиться
$('#id1:first-child').attr('id')
0
ответ дан 1 December 2019 в 17:24
поделиться

В ответе ниже сначала будет выбран элемент «a» в элементе с идентификатором - «id1» (согласно заданному в вопросе)

$('#id1 a:first-child').attr('id')

Код ниже будет только выбирать Первый Div с идентификатором - 'id1'. Таким образом, он выберет этот div, а не дочерний элемент div (но это не соответствует заданному в ответе вопросу)

$('#id1:first-child').attr('id')
14
ответ дан 1 December 2019 в 17:24
поделиться
Другие вопросы по тегам:

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