首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用jQuery合并两个以上的DOM对象?

如何使用jQuery合并两个以上的DOM对象?
EN

Stack Overflow用户
提问于 2016-04-25 06:16:40
回答 2查看 496关注 0票数 0

在jQuery中可以合并3个或更多DOM对象吗?我在堆栈溢出中找到了这个解决方案,但是它只用于合并两个对象:Merging jQuery objects

示例:

代码语言:javascript
运行
复制
var input1 = $('.input-1'),
    input2 = $('#parent-div input'),
    input3 = $('.input-3'),
    input4 = $('.input-4'),
    input5 = $('.input-5')

    merge([input1, input2, input3, input4]).val('My custom input text');

在我的例子中,我有几个输入,但我只想合并其中的几个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-25 06:48:04

我们能否仅以以下方式使用$.add()

代码语言:javascript
运行
复制
$(document).ready(function(){
  var input1 = $('.input-1');
   var input2 = $('#parent-div input');
   var input3 = $('.input-3');
   var input4 = $('.input-4');
   var input5 = $('.input-5');
  
  var collection = $( input1 );
  // Capture the new collection
  collection = collection.add( input2).add(input3).add(input4);
  collection.val('My custom input text');
});  
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input type="text" class="input-1" value="defualt text" >
<div id="parent-div">
  <input type="text" class="input-2" value="defualt text" >
  <input type="text" class="input-3" value="defualt text" >
</div>  
<input type="text" class="input-3" value="defualt text" >
<input type="text" class="input-4" value="defualt text" >
<input type="text" class="input-5" value="defualt text" >

票数 0
EN

Stack Overflow用户

发布于 2016-04-25 06:46:21

您可以创建一个仅在jQuery对象数组中迭代的助手函数:

代码语言:javascript
运行
复制
function merge(jqs) {
  var obj = $();
  jqs.forEach(function (jq) {
    obj.add(jq);
  });
  return obj;
}

您也可以尝试这样的方法:

代码语言:javascript
运行
复制
function merge(jqs) {
  return $(Array.prototype.concat.apply([], jqs.map(function (jq) { return Array.from(jq); })));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36833249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档