2015-07-21 3 views
2

Может ли кто-нибудь помочь мне со следующим? Я новичок в jquery, и ваша помощь будет очень оценена. Мне нужно добавить идентификатор к последним дочерним элементам div.cenik, если ширина окна меньше 768 пикселей? Спасибо за вашу помощь.добавить идентификатор в последний 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, то почему бы вам нужно добавить идентификатор этого DIV? –

+0

@ A.Wolff, может быть, у него есть стиль в css, нацеленный на этот идентификатор? – AmmarCSE

+1

@AmmarCSE Но тогда он должен использовать запросы CSS-СМИ, я думаю. Это действительно зависит от цели использования идентификатора здесь –

ответ

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

Dont передать функцию обратного вызова

(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/

Смежные вопросы