Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема ForEach (https://javascript.ru/forum/misc/60416-problema-foreach.html)

blackdevil 28.12.2015 01:48

Проблема ForEach
 
Здравствуйте, такой вопрос:
var id = values.split(',');
if(id!=""){
id.forEach(id, function(item, i, id){
//alert();
jQuery('#item-'+item).toggleClass('active');
});
}

Почему данный код не работает без alert(), то есть если:
var id = values.split(',');
if(id!=""){
id.forEach(id, function(item, i, id){
alert();
jQuery('#item-'+item).toggleClass('active');
});
}

так, то все прекрасно работает, и класс изменяется, в чем может быть причина?

рони 28.12.2015 01:54

blackdevil,
вам погадать? скорее всего нет элементов на странице. но лучше макет а не обрывки кода.

рони 28.12.2015 01:57

blackdevil,
id.forEach(id, красное зачем?

рони 28.12.2015 02:04

blackdevil,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 .active {
    background: #FFCC00;
  }
 </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$(function() {
    var id = "1,2,3".split(",");
    if (id.length) id.forEach(function(item, i, id) {
        jQuery("#item-" + item).toggleClass("active")
    })
});
  </script>
</head>

<body>
<div id="item-1">1</div>
<div id="item-2" class="active">2</div>
<div id="item-3">3</div>
</body>

</html>

blackdevil 28.12.2015 02:53

рони, Благодарю.

ruslan_mart 28.12.2015 17:19

var id = '1,2,3';
$(id.replace(/([^,]+)/g, '#item-$1')).classToggle('active');

рони 28.12.2015 17:30

Ruslan_xDD,
:)


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