[] .forEach.call在jquery中的替代方案

Jim*_*Jim 2 javascript jquery

我有用javascript编写的代码,我想转换为jQuery

只有一行,我无法想象

[].forEach.call($('p'),function(i) {
Run Code Online (Sandbox Code Playgroud)

我试过每个()

$('p').each(function(i) {
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用

如果你想看到代码在行动,帮我转换 http://jsfiddle.net/e5qST/

epa*_*llo 8

阅读文档

.each( function(index, Element) )
Run Code Online (Sandbox Code Playgroud)

第一个参数是索引,第二个参数是元素.所以你试图阅读一个数字的样式.

您可以this在函数内部使用或第二个参数,它将引用正在循环的集合中的当前元素.

$('p').each(function(i){
    var fZ = 30;
    while(fZ > 6 && this.scrollHeight > this.offsetHeight) {
        fZ--;
        this.style.fontSize = fZ+'px';
    }
});
Run Code Online (Sandbox Code Playgroud)