需要一些coffescript / jQuery迭代的提示

时间:2016-01-01 10:15:34

标签: jquery coffeescript

我试过

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

逐段提醒......但相反它会逐字提醒(lol,wtf ...)。然后我尝试了这个

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

但它也不起作用。你能帮我迭代所有段落文本吗?提前谢谢你,新年快乐!!!!

2 个答案:

答案 0 :(得分:0)

尝试:

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

这是如何工作的?首先,让我们把它转发给JS。根据{{​​3}}:

var i, len, ref, x;

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

证明这个已编译的代码有效:tools.android.com/tech-docs/android-ndk-preview

这段代码有什么作用?

首先,我们调用jQuery库传递一个选择器p,它将所有段落作为对象提取到ref变量。

在循环中,根据提取的段落数量,它将循环多次。变量x被赋予对象中当前p的值。然后,我们会警告innerText对象的x属性,该对象代表HTML中的p

答案 1 :(得分:0)

好的,我解决了这个问题,我意识到新手我是怎么回事。 jQuery的对象是对象,而不是数组,然后当我做

之类的事情时
alert x.text() for x in $("p")

x是对象$('p')的值,它将$('p')视为一种段落数组。然后解决方案是这样的

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

P.S。:也许有关于jQuery DOM内部结构的完整文档,我可以尝试不同的东西,但到现在这种方法非常有效。