将ID附加到div中的最后一个div

时间:2015-07-21 15:47:15

标签: jquery

有人可以帮我跟进吗?我是jquery的新手,非常感谢你的帮助。如果窗口的宽度小于768像素,我需要为div.cenik的最后一个子项附加一个ID吗?谢谢你的帮助。

<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 );

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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/

答案 2 :(得分: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);