2

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

只有一条线我想不通

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

我尝试了每个()

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

但它根本不起作用

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

4

3 回答 3

8

阅读文档

.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';
    }
});
于 2013-08-18T18:49:57.913 回答
0

尝试这样的事情: -

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

工作JSFIDDLE

于 2013-08-18T18:50:33.527 回答
0
$('p').each(function(index, e){
    var fZ = 30;
    while(fZ > 6 && e.scrollHeight > e.offsetHeight) {
        fZ--;
        e.style.fontSize = fZ+'px';
    }
});

在小提琴中工作

于 2013-08-18T18:53:49.913 回答