如何加入两个jQuery元素对象?.add()不起作用

Ale*_*ias 28 javascript jquery

我在函数内部,我需要返回一个带有两个元素的jQuery对象.在我的功能内部,例如:

function getInput() {
    $hiddenInput = $('<input type="hidden">');
    //(other code)
    $select = $('<select></select>');
    //(other code)
    $hiddenInput.add($select);
    return $hiddenInput;
}
Run Code Online (Sandbox Code Playgroud)

外面我有:

$myContainer.append(getInput());
Run Code Online (Sandbox Code Playgroud)

预期结果将是:

<div id="container"><input type="hidden"><select></select></div>
Run Code Online (Sandbox Code Playgroud)

但是我现在用.add()得到的唯一东西只是输入元素而不是select.如何在函数返回时联合这两个表单元素?如果jQuery不可能,那么使用纯JavaScript.非常感谢.

Tim*_*one 48

add()创建(并返回)一个新的jQuery对象,它是原始集合和你要添加到它的内容的联合,但你仍然在函数中返回原始集合.你似乎想要这样做:

function getInput() {
    $hiddenInput = $('<input type="hidden">');
    //(other code)
    $select = $('<select></select>');
    //(other code)
    return $hiddenInput.add($select);
}
Run Code Online (Sandbox Code Playgroud)


Jef*_*ert 5

您可以使用

$hiddenInput.after($select);
Run Code Online (Sandbox Code Playgroud)

那将是$select后来的$hiddenInput,实现你想要的.

  • 可能是DOM中没有任何元素? (2认同)