I think you want something like this
$(function(){
$('li.week_1').not('ul li').wrapAll('<ul class="devotionals"/>');
$('.week_2').not('ul li').wrapAll('<ul class="devotionals"/>');
});
If it doesn't solve your problem then post other li
(with relevant parent/location) that have same class
but you want to exclude from wrapping.
Update :
$(function(){
$('section.series').each(function(){
var ul1 = $('<ul />', {'class':'devotionals'}), ul2 = ul1.clone();
ul1.append($(this).find('li.week_1'));
ul2.append($(this).find('li.week_2'));
$(this).append(ul1).append(ul2);
});
});
If you want to add any event handler on these li
s then use something like this (delegated)
$('section.series').on('click', 'ul > li', function(){
// code here
});