Я нахожусь внутри функции, и мне нужно вернуть объект jQuery с двумя элементами. Внутри функции, которую я имею, например:
function getInput() {
$hiddenInput = $('<input type="hidden">');
//(other code)
$select = $('<select></select>');
//(other code)
$hiddenInput.add($select);
return $hiddenInput;
}
А снаружи у меня есть:
$myContainer.append(getInput());
Ожидаемый результат будет:
<div id="container"><input type="hidden"><select></select></div>
Но единственное, что я получаю прямо сейчас. add () является только элементом ввода, а не выбором. Как объединить эти два элемента формы в функции return? Если это невозможно с jQuery, то с простым JavaScript. Большое спасибо.
add() создает (и возвращает) новый объект jQuery, который является объединением исходного набора и того, что вы добавляете к нему, но вы по-прежнему возвращаете исходный в вашей функции. Похоже, вы хотели сделать это вместо этого:
function getInput() {
$hiddenInput = $('<input type="hidden">');
//(other code)
$select = $('<select></select>');
//(other code)
return $hiddenInput.add($select);
}
Вы можете использовать
$hiddenInput.after($select);
Это поместит $select
после $hiddenInput
, достигнув желаемого.