1

我有 5 个 div。

<div class="wx-temp">89 <sup>°F</sup></div>
<div class="wx-temp">91 <sup>°F</sup></div>
<div class="wx-temp">87 <sup>°F</sup></div>
<div class="wx-temp">90 <sup>°F</sup></div>
<div class="wx-temp">89 <sup>°F</sup></div>

我得到他们这样。

var degress = $("div.wx-temp").text();

我想在sup元素之后附加摄氏度值。

当我得到.each函数的递减时,它会像这样解析文本:

{8,9,°,F,9,1,°,F.........} 

我只想得到这样的整数:

{89,91,87,90,89}

我怎样才能做到这一点?谢谢。

4

3 回答 3

4

如果你正在迭代.text,这就是你将得到的——对字符串中每个字符的迭代。您想遍历整个元素列表:

$("div.wx-temp").each(function() {
    var degFahrenheit = parseInt($(this).text(), 10);
    var degCelcius = customConversionHere(degFahrenheit);
    // append degCelcius to $(this)
});

严格来说,$(this).text()以上将产生"89 °F",而不是"89",但parseInt会照顾到这一点。

于 2012-09-06T07:07:49.497 回答
2
var degress = $("div.wx-temp").text();
var substr = degrees.split(' °F');

substr[0] = '89';
substr[1] = '91';    
于 2012-09-06T07:11:39.157 回答
1
$(function(){

    alert(GiveDegrees());

});

function GiveDegrees()
{
    var divs = $('div.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);

}

小提琴链接:http: //jsfiddle.net/LyG6q/5/

于 2012-09-06T07:20:06.540 回答