2017-02-02 3 views
-1

У меня проблема, у меня есть время, чтобы получить информацию в JSON, и я хочу добавить идентификатор для каждого элемента, но мой код не работает.Добавить класс Jquery Append + Every

Приложение append, у меня есть все мои результаты в JSON, но тест класса не работает.

<style type="text/css"> 
     .test 
    { 
    color:red; 
    } 

</style> 
<script> 

    $(document).ready(function(){ 

    $.ajax({ 


     url: 'https://world.openfoodfacts.org/cgi/search.pl?search_terms=<?php echo $_POST['search']; ?>&search_simple=1&action=process&json=1', 
     dataType: 'json', 
     success: function(json) { 


     var count = 1; 

     $.each(json.products, function(i, obj) { 

     window["var" + count] = $('<a href="#null">' + obj.generic_name_fr + ' - ' + obj.brands + '</a>'); 
     $("#push").append(window["var" + count]); 
     window["var" + count].addClass('test'); 

     count++; 



      }); 




     } 

      }); }); 



     </script> 

     <ul data-role="listview" id="push" style="margin-top:25px;"> 

       </ul> 

спасибо :)

+0

Я так растерялся. Какова цель добавления элементов DOM к глобальным переменным, например, если единственное, для чего они используются, - это добавить элемент '# push'? – mhodges

+0

Я не знаю, это единственное решение, которое я нашел, мне просто нужно добавить результат JSON на div с этой формой: « obj.generic_name_fr. Я попробовал несколько решений, чтобы добавить« имя », и мне не удалось –

+0

Также , так как вы жестко кодируете HTML, почему бы просто не поместить ' ..'? – mhodges

ответ

0

Я не совсем уверен, что ваш вопрос, но попробовать это (обновленное решение)

$(document).ready(function domReady() { 
    $.getJSON('https://world.openfoodfacts.org/cgi/search.pl?search_terms=<?php echo $_POST["search"]; ?>&search_simple=1&action=process&json=1') 
     .done(function success(response) { 
      var links; 

      links = $(response.products.map(function toProductLink(product, index) { 
       var id; 

       id = index + 1; 

       return $('<a href="#">') 
        .text(product.generic_name_fr) 
        .attr('id', 'product-link-' + id) 
        .attr('name', 'recup'), 
        .data('calories', product.energy); 
      })); 

      links.appendTo($('#push')); 
     }) 
     .fail(function fail() { 
      console.error(arguments); 
     }); 
}); 
+0

Это пронизано ошибками синтаксиса – mhodges

+0

Вы правы, одна запятая отсутствует, а встроенный PHP-код также может вызвать вашу листинг чувств –

+0

Да, запятая отсутствует, а одиночная кавычка завершала строку ... в результате синтаксическая ошибка. 2 синтаксических ошибки в, что, 25 строк кода – mhodges

0

код не работает

Я m извините, у меня нет хорошего английского

Без мой код я объясняю свою проблему, у меня есть возвращение JSON, и я хочу поместить каждый элемент в DIV.

На мой DIV мне нужно именно это:

<div id="push"> 
    // Fist element <a href="#" name="recup" data-calories='JSON.PRODUCTS.ENERGY'> json.products.generic_name_fr </a> 
    // Second element <a href="#" name="recup" data-calories='JSON.PRODUCTS.ENERGY'> json.products.generic_name_fr </a> 
    </div> 

Это просто, но это не так легко добавить ATTR на Append с JSON, а

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