Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Одна и та же переменная во все блоках (https://javascript.ru/forum/misc/57193-odna-i-ta-zhe-peremennaya-vo-vse-blokakh.html)

ifors 23.07.2015 16:24

Одна и та же переменная во все блоках
 
Здравствуйте, уважаемые форумчане
Есть код вида
<ul>
	
	<li class="seminargr hide" id="eq-0">

	
	<a href="seminar-test"><b id="date2">09-07-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-1">

	
	<a href="seminar-test"><b id="date2">18-07-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-2">

	
	<a href="seminar-test"><b id="date2">23-07-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-3">

	
	<a href="seminar-test"><b id="date2">31-07-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-4">

	
	<a href="seminar-test"><b id="date2">06-07-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-5">

	
	<a href="seminar-test"><b id="date2">17-08-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-6">

	
	<a href="seminar-test"><b id="date2">03-08-2015</b><br>Санкт-Петербург</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li><li class="seminargr hide" id="eq-7">

	
	<a href="seminar-test"><b id="date2">20-07-2015</b><br>tyutyutyu</a>
	<div id="date1" style="display:none">23-07-2015</div>
	
	<div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>

</li>
	</ul>


И скрипт
<script type="text/javascript">	
		
		var indexedElement = $('.seminargr');
		indexedElement.attr('id', function(index) {
  return 'eq-' + index;
});

		
		
		var date1 = $("#date1").text();
		var date2 = $("#date2").text();
		
		var newValue = date2.replace(/[^0-9\.]/g, '');
		var newValue2 = date1.replace(/[^0-9\.]/g, '');
		
		var myInteger = parseInt(newValue);
		var myInteger2 = parseInt(newValue2);
	
			if(myInteger2 > myInteger)
{
	$( "li.seminargr" ).addClass( "hide" );
}
		
		$(".myDiv1" ).text(myInteger);
		$(".myDiv2" ).text(myInteger2);
		
	</script>


По идее в блоке <div class="myDiv1">9072015</div должны быть разные переменные, те что хранятся в блоке <b id="date2">03-08-2015</b> но указывается только одна и та же 9072015.
Прошу помощи

EmperioAf 23.07.2015 16:30

Могу предположить, что проблема в том, что id на странице должен быть уникальным. А у вас #date1 #date2 много раз повторяются

ifors 23.07.2015 16:34

делала с уникальными ид все равно не работает:cray:
у блока seminargr id разные

ifors 23.07.2015 16:48

Обьясню что в принципе пыталась сделать
Есть блоки с семинарами, у каждого семинара свое имя и дата (дата в виде текстовой переменной 03-07-2015)
Нужно сравнить эту дату с текущей, и если семинар уже закончился скрыть его
Так вот я вывела текущую дату в виде числа и дату семинара в виде числа, и если текущая больше то добавлять класс к диву с семинаром и потом скрывать его в стилях

devote 23.07.2015 17:03

<style>
.hide {
  display: none;
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<ul>
     
    <li class="seminargr" id="eq-0">
 
     
    <a href="seminar-test"><b id="date2">09-07-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-1">
 
     
    <a href="seminar-test"><b id="date2">18-07-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-2">
 
     
    <a href="seminar-test"><b id="date2">23-07-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-3">
 
     
    <a href="seminar-test"><b id="date2">31-07-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-4">
 
     
    <a href="seminar-test"><b id="date2">06-07-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-5">
 
     
    <a href="seminar-test"><b id="date2">17-08-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-6">
 
     
    <a href="seminar-test"><b id="date2">03-08-2015</b><br>Санкт-Петербург</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li><li class="seminargr" id="eq-7">
 
     
    <a href="seminar-test"><b id="date2">20-07-2015</b><br>tyutyutyu</a>
    <div id="date1" style="display:none">23-07-2015</div>
     
    <div class="myDiv1">9072015</div>
<div class="myDiv2">23072015</div>
 
</li>
</ul>


<script>
  var indexedElement = $('.seminargr');
  indexedElement.attr('id', function(index) {
    return 'eq-' + index;
  }).each(function() {
    var date1 = $(this.querySelectorAll('#date1')).text();
    var date2 = $(this.querySelectorAll('#date2')).text();

    var newValue = date2.replace(/[^0-9\.]/g, '');
    var newValue2 = date1.replace(/[^0-9\.]/g, '');

    var myInteger = parseInt(newValue);
    var myInteger2 = parseInt(newValue2);

    if(myInteger2 > myInteger) {
      $(this).addClass( "hide" );
    }

    $(this).find(".myDiv1" ).text(myInteger);
    $(this).find(".myDiv2" ).text(myInteger2);
  });
</script>

ifors 24.07.2015 09:05

Круто, спасибо большое)


Часовой пояс GMT +3, время: 04:23.