2013-10-25 3 views
1

Рассмотрим следующий Jquery Ajax, зацикляющий скрипт PHP. У меня есть несколько проблем с ним, потому что он добавляет первый div с контентом с сервера, но остальные divs пустые, я думаю, это из-за дублированных идентификаторовКак увеличить значение селектора jquery

1-й вопрос. Как это возможно,

$("<span id='name" + counter + "'></span>") 

, как вы можете видеть, я добавляю «1» в ид «#NAME» каждый раз, когда он добавленный, поэтому идентификатор Первого участка является «name1» и следует «name2 и так далее»

я также хочу, чтобы увеличить этот селектор:.

$ ('# имя') HTML (feedback.name)

например, первый селектор должен быть $ ('# name1 ') .html (feedback.name)

и второй be, $ ('# name2'). Html (feedback.name)

и так далее. Какой синтаксис для этого?

2-й вопрос:

Рассмотрите это.

$("<span id='name" + counter + "'></span>") 

есть в любом случае я могу загрузить DIV где-то еще и достичь тех же результатов, как показано ниже, не проходя через те же вопросы происхождения политики? Если JSONP поможет, предложите некоторую структуру, которую я могу использовать.

Полный Jquery Ajax код:

var get_fb = (function(){ 
    var counter = 0; 
    var $buzfeed = $('#BuzFeed'); 
    return function(){ 
     $.ajax({ 
      dataType : 'json', 
      type: "GET", 
      url: "Algor.php" 
     }).done(function(feedback) { 
      counter += 1; 
      var $buzfeedresults = 
$("<span id='name" + counter + "'></span>"); 
      $('#name').html(feedback.name); 
      $buzfeedresults.append(feedback); 
      $buzfeed.append($buzfeedresults); 
      var $buzfeedDivs = $buzfeed.children('div'); 
      if ($buzfeedDivs.length > 7) { $buzfeedDivs.last().remove(); } 
      setTimeout(get_fb, 2000); 
     }) 
    }; 
})(); 
get_fb(); 

Спасибо заранее.

+0

Вы уже ответили первым? Это то же самое, что и вы. Второй вопрос, я не думаю, что вы можете. – putvande

+0

нет это не работает. – Relm

+0

'$ ('# name' + counter);'? – putvande

ответ

0

Почему не просто:

// selects all 'span' elements, that have an 'id' attribute, 
// which starts with the string 'name': 
$('span[id^="name"]').filter(function(){ 
    // filters that collection, tests to see whether the 'id' follows the 
    // starts-with 'name', ends-with one or more numbers, with nothing between: 
    return /^name\d+$/.test(this.id); 
}); 

JS Fiddle demo.

Ссылки:

+0

Я немного студент здесь, можете ли вы включить полный код в это? Пожалуйста. – Relm

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