javascript - 如何连接两个 jQuery 元素对象? .add() 不起作用

标签 javascript jquery

我在一个函数内,我需要返回一个包含两个元素的 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() 得到的唯一结果只是输入元素,而不是选择。如何在函数返回上连接这两个表单元素?如果无法使用 jQuery,则使用纯 JavaScript。非常感谢。

最佳答案

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

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

关于javascript - 如何连接两个 jQuery 元素对象? .add() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3577893/

相关文章:

javascript - 使用带有视频和音频标签的默认海报图像

javascript - 如何从数据库获取时间后开始倒计时?

javascript - 如何在javascript中向函数添加回调

javascript - 在使用 HTTP/2 时,缩小和连接 JS/CSS 文件以及对图像使用 sprite 是否仍然提供性能优势?

javascript - 使用 JQuery 进行过滤以忽略 parent 的 child

jquery - jQuery 是否采用了向后的方法链接方法?

javascript - 智能字符串替换

具有绝对定位子项的 jQuery UI 对话框部分隐藏了溢出的子项

jQuery/underscore.js 模板 - 与 IE 6+ 兼容吗?

php - 从 MySQL 检索多列到 Jquery 并输出为表