I’m trying to get jQuery to show/hide elements based on the value of an attribute between two values.
I have markup that looks like this:
<a class="page_link" href="javascript:go_to_page(0)" longdesc="0">1</a>
<a class="page_link" href="javascript:go_to_page(1)" longdesc="1">2</a>
<a class="page_link" href="javascript:go_to_page(2)" longdesc="2">3</a>
<a class="page_link" href="javascript:go_to_page(3)" longdesc="3">4</a>
<a class="page_link active_page" href="javascript:go_to_page(4)" longdesc="4">5</a>
<a class="page_link" href="javascript:go_to_page(5)" longdesc="5">6</a>
<a class="page_link" href="javascript:go_to_page(6)" longdesc="6">7</a>
<a class="page_link" href="javascript:go_to_page(7)" longdesc="7">8</a>
<a class="page_link" href="javascript:go_to_page(8)" longdesc="8">9</a>
I have some jQuery that looks like this:
//Now, we need to paginate the pagination
var page_link_count = $('.page_link').length();
//Hide all the .page_links
$('.page_link').css('display','none');
//Show active_page
$('.active_page').css('display','block');
//Show up to four .page_link on either side of active_page
var active_page_value = $('.active_page').attr('longdesc');
$('.page_link').each(function(){
var longdesc = $(this).attr('longdesc');
// This next part might be what's getting me...
if( longdesc <= active_page_value+4 && longdesc >= active_page_value-4){
$(this).css('display','block');
}
});
I’m trying to say, if the longdesc attribute value of any element with a page_link class is greater than the value of the sum of the active_page longdesc – 4 or less than the sum of the active_page longdesc + 4
You need to parse the number before you add them . The values will be appended instead
JS