0

脚本:

var degress = GiveDegrees();

$(function () {
    //alert(GiveDegrees());  //output: 89,91,87,90,91
});

function GiveDegrees() {
    var divs = $('p.wx-temp');
    var degrees = new Array();

    $.each(divs, function (i, j) {
        degrees.push(stringToNum($(this).text()));
    });

    return degrees;
}

function stringToNum(str) {
    return str.match(/\d+/g);
}

私はこれを持っています:

$("p.wx-temp").each(degress, function (index) {
    $(this).append(degress[index], "<sup>°C</sup>");

    alert("I works");
});

しかし、うまくいきません。私がこのように書くとき:

$("p.wx-temp").each(function (index) {
    $(this).append("<sup>°C</sup>");

    alert("I works");
});

できます。.each()関数のオーバーロード メソッドはありません.each(data, function (index))か?

度配列は、int として 5 つの int を含む整数配列です89,91,87,90,91。関数を使用して各要素.eachに配列値を追加するにはどうすればよいですか。p

ありがとう。

4

2 に答える 2

3

なぜあなたはまったく持ち込む必要があるdegresseachですか?クロージャーを使用して、すでに利用可能です。

$("p.wx-temp").each(function(index) {
    $(this).append(degrees[index], "<sup>°C</sup>");
    alert("I works");
});

また

var $elems = $("p.wx-temp");
$.each(degrees, function(i, val) {
    $elems.eq(i).append(val, '<sup>°C</sup>');
});

要素の長さが配列の長さと一致する場合、どちらをループしても違いはありませんが、最初のループの方がおそらく高速です (ただし、ネイティブの配列ループを使用するのが最も高速です)。

degrees2 つのセクションで綴りがdegress異なっていることに注意してください。

于 2012-09-06T08:30:37.203 に答える