2016-01-01 3 views
0

Я попыталсяНужна подсказка для coffescript/JQuery итерации

alert x for x in $("p").text() 

для предупреждения по каждому пункту ... но вместо этого оповещения по буквам (лол, WTF ...). Тогда я пробовал это

alert x.text() for x in $("p") 

но он не работает. Можете ли вы помочь мне повторить все тексты абзацев? Спасибо заранее и счастливый новый год !!!!

+0

Вы бы отметили ответ? –

ответ

0

Хорошо, я решил вопрос, и я понял, как новичок Im, lol. Объекты JQuery являются объектами, а не массивы, а затем, когда я делаю что-то вроде

alert x.text() for x in $("p") 

х являются значения объекта $ («р»), что-то другое, что мышление $ («р») в виде вид массива абзацев. Тогда решение что-то вроде этого

for x,i in $('p') 
    alert $('p').eq(i).text() 

P.S .: возможно с полной документацией о внутренней структуре JQuery DOM я могу попробовать что-то другое, но теперь это работает отлично.

0

Try:

alert x.innerText for x in $('p')

Как это работает? Во-первых, давайте переведем его в JS. Согласно CoffeeScript website, it transpile's this code to:

var i, len, ref, x; 

ref = $('p'); 
for (i = 0, len = ref.length; i < len; i++) { 
    x = ref[i]; 
    alert(x.innerText); 
} 

Доказательство того, что этот код работает transpiled: JSFiddle.

Что делает этот код?

Во-первых, мы вызываем библиотеку jQuery, передавая селектор p, который будет отображать все абзацы в переменную ref как объект.

В цикле, в зависимости от количества взятых абзацев, он будет циклически повторяться много раз. Переменной x присваивается значение тока p в объекте. Затем мы предупреждаем свойство innerText объекта x, которое представляет p в HTML.

+0

Не работает. Sad :( – Masacroso

+0

Попробуйте сейчас. @Masacroso –

+0

Не работает ни ... it itates письмо письмом :( – Masacroso

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