jQuery .wrap .unwrap响应

时间:2015-12-03 10:33:33

标签: javascript jquery

原谅我,我对javascript很新。我试图删除低于980px宽的div的父级,然后将其添加回980px以上。我正在使用以下代码来查看其他jQuery。

jQuery(window).resize(function () {
    var Tags = jQuery( ".case-studies .items-row div.span4" );
    var wi = jQuery(window).width();
    if (wi < 980) {
       if ( Tags.parent().is( "div.items-row.cols-3.row-0.row-fluid" ) ) {
    Tags.unwrap();
       }
    } else {
         (Tags.wrap.parent( "<div .items-row.cols-3.row-0.row-fluid></div>" ));}

});

我猜你会发现我遇到了一些问题!

  • jQuery在页面加载时不适用于980px以下,但是当你以大屏幕尺寸开始并将宽度缩小到980px以下时,jQuery就可以工作。
  • 一旦jQuery触发并且屏幕大小超过980px,就不会重新应用已删除的div。

请解释我出错的地方,我想学习。

感谢您的时间

更新 任何jQuery之前的html是:

<section>
  <div class="items-row cols-3 row-1 row-fluid">
        <div class="span4"></div>
  </div>
</section>

使用以下jQuery:

jQuery(window).load(function () {
    var Tags = jQuery( ".case-studies .items-row div.span4" );
    var wi = jQuery(window).width();

    if (wi < 980) {
       if ( Tags.parent().is( "div.items-row.cols-3.row-0.row-fluid" ) ) {
    Tags.unwrap();
       }
    } 

    else {

    Tags.wrap( "<div></div>");


         }
});

现在在页面加载时发生在980px以上:

<section>
  <div class="items-row cols-3 row-1 row-fluid">
        <div>
            <div class="span4"></div>
        </div>
  </div>
</section>

当我刷新980px以下的页面时:

<section>
    <div class="span4"></div>
</section>

980px以下的结果是正确的,但只有在我刷新屏幕时才会运行。 980px以上的结果不是我想要的结果,我希望它保留或返回:

<section>
      <div class="items-row cols-3 row-1 row-fluid">
            <div class="span4"></div>
      </div>
    </section>

1 个答案:

答案 0 :(得分:0)

#1:在页面加载时调用该函数一次,这样您就不需要调整大小来获取它

#2

else {
     (Tags.wrap.parent( "<div .items-row.cols-3.row-0.row-fluid></div>" ));}

应该是

else {
     (Tags.wrap( "<div .items-row.cols-3.row-0.row-fluid></div>" ));}