我有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
元素之后附加celcius值。
当我在.each
函数中得到degress时,它会像这样解析文本:
{8,9,°,F,9,1,°,F.........}
我想只得到这样的整数:
{89,91,87,90,89}
我该怎么做?感谢。
答案 0 :(得分: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
会照顾到这一点。
答案 1 :(得分:2)
var degress = $("div.wx-temp").text();
var substr = degrees.split(' °F');
给出
substr[0] = '89';
substr[1] = '91';
答案 2 :(得分: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);
}