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

时间:2013-08-18 18:46:05

标签: javascript jquery

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

只有一行,我无法想象

[].forEach.call($('p'),function(i) {

我尝试了每个()

$('p').each(function(i) {

但它根本不起作用

如果您想查看代码,请帮我转换 http://jsfiddle.net/e5qST/

3 个答案:

答案 0 :(得分:8)

阅读documentation

.each( function(index, Element) )

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

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

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

答案 1 :(得分:0)

尝试这样的事情: -

$('p').each(function(index, item) {

工作JSFIDDLE

答案 2 :(得分:0)

$('p').each(function(index, e){
    var fZ = 30;
    while(fZ > 6 && e.scrollHeight > e.offsetHeight) {
        fZ--;
        e.style.fontSize = fZ+'px';
    }
});

在小提琴中工作