Is it possible to merge several jQuery DOM objects into one array and call jQuery methods on all of them?
F.ex:
<button>one</button>
<h3>two</h3>
<script>
var btn = $('button');
var h3 = $('h3');
$([btn,h3]).hide();
</script>
This doesn't work. I know I can use the 'button,h3' selector here but in some cases I already have several jQuery DOM elements and I need to merge them so I can call jQuery prototypes on all of them.
something like:
$.merge([btn,h3]).hide();
would work. Any ideas?
UPDATE:
Solved it. You can do it like this:
$.fn.add.call(btn,h3);
I'm going to accept the add()
suggestion as for pointing me in the right direction.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…