2010-07-16 2 views
2

Любая идея, что не так с моим кодом?Петля для создания нескольких элементов div? JQUERY

var pageLimit=30; 

$(document).ready(function() { 
for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</ div>') 
} 
} 

Я хочу, чтобы эта функция создавала столько div в теле, как значение pageLimit. Поэтому, если кто-то должен был войти в код и изменить параметр pageLimit на 50, он создаст 50 тегов div.

в тегах тела, все, что у меня есть, является тестовым div. Я хотел поместить его в тело, не вставляя его в какие-либо другие div. Поэтому я попытался заменить #test телом, не работал.

Пожалуйста, помогите! Благодарю.

EDIT: Извините, у меня есть); в моем исходном коде я просто забыл скопировать его здесь! Да, теги
были до того, как я знал, как вставлять код в это ... lol Извините. У меня есть); в моем исходном коде он все равно не работает.

+0

Не могли бы вы показать какой-то код html - что у вас есть, и что вы хотите, когда ваш код закончил манипулировать им? –

+0

добавьте 4 пробела перед всеми строками кода, и он будет корректно отображаться в stackoverflow. – Fosco

+0

Чтобы добавить HTML, отредактируйте ваш вопрос (там будет ссылка на редактирование, когда вы посмотрите на него) и сделайте часть кода немного кодом, выделив ее и нажав кнопку «101010». – justkt

ответ

1

Ваш вопрос, подтверждающем готовность функции является простой задачей синтаксиса. Вам не хватало ")". Обязательно добавьте также строки. Это работает:

$(document).ready(function() { 
     for (var i = 1; i <= pageLimit; i++) { 
      $('#test').append('TESTING'); 
     } 
    }); 
+0

Также: здесь приведен оптимизированный код. Это делает одну манипуляцию DOM, которая значительно повысит производительность. var pageLimit = 30, testing = 'TESTING'; $ (document) .ready (function() { для (var i = 1; i <= pageLimit; i ++) { тестирование + = тестирование; } $ ('# test').присоединять (тестирование); }); – Zacho

6

Отсутствует ");" после последнего}.

$(document).ready(function() { 
    for (var i = 1; i <= pageLimit; i++) { 
     $('#test').append('TESTING'); 
    } 
}); 
0

Как насчет document.body.innerHTML + = 'TESTING'; ?

+0

Ошибки с «$ (document) .body undefined». Поскольку вы завернули документ как объект JQeury. Все, что вам нужно сделать, это document.body ... нет необходимости в JQuery. –

+0

ах да, приятно поймать спасибо. – Fosco

0

Кажется, это все-таки проблема синтаксиса, то есть простые кавычки затем обратно кавычки в строке элемента, попробуйте удалить обратные кавычки. И, конечно же, убедитесь, что у вас есть <div id="test"></div> в вашем html.

$(document).ready(function() { 
    for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</div>') 
    } 
}); 

Если это не опечатка в вашем вопросе.

+0

Нет. Это потому, что, когда вы хотите включить кавычки внутри кавычек, внешние кавычки должны быть одинарными кавычками, а внутри - двойными кавычками. Вы можете видеть различия, если используете блокнот ++ .. По крайней мере, так учил меня мой учитель! – Annie

+0

Я говорю о обратной цитате ('). Как вы можете видеть в коде, который я разместил, у меня есть одиночная и двойная кавычки. – guzart

0
$('body').append('<div>TESTING</div>') 

Должно работать. Как выглядит ваш нерабочий код?

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