2015-07-21 113 views
2

有人可以幫我以下嗎?我是jquery的新手,你的幫助將會非常感激。如果窗口的寬度小於768像素,我需要爲div.cenik的最後一個子項附加一個ID?謝謝你的幫助。追加一個ID到div裏面的最後一個div

<div class="cenik"> 
    <div>bla bla</div> 
    <div>bla bla</div> 
    <div>bla bla</div> 
    <div>bla bla</div> <-- this should get the ID--> 
</div> 

我的代碼(什麼是錯的):

(function($) {$(document).ready(function(){ 
if ($(window).width() < 768) { 
    $('.cenik').children().last(function(i) { 
    $(this).attr('id', 'cenik'); 
}); 
} 
});})(jQuery); 
+0

這聽起來像一個XY問題,你爲什麼會需要一個ID添加到這個DIV? –

+0

@ A.Wolff,也許他有一個風格在css針對該ID? – AmmarCSE

+1

@AmmarCSE但是,他應該使用CSS媒體查詢我猜。這真的取決於在這裏使用ID的目的是什麼 –

回答

3

這是固定碼:

(function ($) { 
    $(document).ready(function() { 
     if ($(window).width() < 768) { 
      $('.cenik').children().last().attr('id', 'cenik'); 
     } 
    }); 
})(jQuery); 

這是說,那裏是它應該怎麼做,我想:

(function ($) { 
    $(window).on('load resize', function() { 
     if (window.matchMedia("(max-width: 768px)").matches) { 
      $('.cenik').children().last().attr('id', 'cenik'); 
     } 
    }); 
})(jQuery); 
0

不要傳遞一個回調函數

(function($) { 
     $(document).ready(function() { 
      if ($(window).width() < 768) { 
       $('.cenik').children().last().attr('id', 'cenik'); 
      } 
     }); 
    })(jQuery); 

或者,您可以使用:last

(function($) { 
    $(document).ready(function() { 
     if ($(window).width() < 768) { 
      $('.cenik div:last').attr('id', 'cenik'); 
     } 
    }); 
})(jQuery); 
2

這一定是你的解決方案

HTML

<div class="cenik"> 
    <div>bla bla</div> 
    <div>bla bla</div> 
    <div>bla bla</div> 
    <div>bla bla</div> <-- this should get the ID--> 
</div> 

jquery

(function($) {$(document).ready(function(){ 
if ($(window).width() < 768) { 
    $('.cenik > div:last').attr("id","cenik") 
}; 
} 
)})(jQuery); 

直播: https://jsfiddle.net/23kbt25s/