jQuery add elements to empty selection?

后端 未结 9 1384
一向
一向 2020-12-29 18:52

Why doesn\'t this work?

var spans = $();
var elem = document.getElementById(\'someId\');
spans.add(elem);

What is the proper way to start

相关标签:
9条回答
  • 2020-12-29 19:44

    Quoting from the jQuery website:

    Given a jQuery object that represents a set of DOM elements, the .add() method constructs a new jQuery object from the union of those elements and the ones passed into the method.

    Hence, when you do .add() it will not save the added elements, you would have to explicitly assign the element to the newly created object i.e

    var $elements = $('.elements');
    $elements = $elements.add($('#anotherelement'));
    
    0 讨论(0)
  • 2020-12-29 19:47

    Try

    var spans = $("<span />");
    var elem = $("#someId").html();
    spans.append(elem).appendTo('#someAnotherId');
    

    instead

    0 讨论(0)
  • 2020-12-29 19:48

    I guess I don't get what you're asking. If you have an element and you want to add it to a collection, you just use the .add() method just like you've already shown. What confuses some is that this returns a new jQuery object so you would do it like this:

    var spans = $();
    var elem = document.getElementById('someId');
    spans = spans.add(elem);
    

    Of course, something like this would be shorter:

    var spans = $();
    spans = spans.add('#someId');
    

    And, of course, you don't have to start with an empty object. You would just start with:

    var spans = $('#someId');
    
    0 讨论(0)
提交回复
热议问题