jQuery .wrap() isn't working

前端 未结 3 1579
心在旅途
心在旅途 2021-02-07 13:30

I\'m probably doing something wrong but I\'ve tried all sorts of things and can\'t seem to get a collection of jQuery objects wrapped. The following just outputs the link HTML,

3条回答
  •  天命终不由人
    2021-02-07 13:58

    It looks like you mean to use jQuery's html method to add html in the second to last line - unless $dropdownSections is an array with each element being a jQuery object. I think you might be after this:

    $.each(sitemapSections, function(i) {
      var $sitemapSection = $(sitemapSections[i]);
      var $primary = $sitemapSection.find('[data-level="1"]').wrap('

    '); $dropdownSections.eq(i).html($primary.parent().html()); });

    or more written another way:

    $.each(sitemapSections, function(i) {
      $dropdownSections.eq(i).html(
        $(sitemapSections[i])
        .find('[data-level="1"]')
        .wrap('

    ') .parent() .html() ); });

    if $dropdownSections is an array which has a jQuery object in each element:

    $.each(sitemapSections, function(i) {
      $dropdownSections[i].html(
        $(sitemapSections[i])
        .find('[data-level="1"]')
        .wrap('

    ') .parent() .html() ); });

提交回复
热议问题