使用jquery将解析的文本转换为整数

时间:2014-01-27 23:20:54

标签: jquery html

我目前正在解析XML文件,而一个字段是一个确定对象大小的整数:

 $(xml).find('Boxes').each(function(){
  var top = $box.find('top').text();
  }

然后用HTML显示它:

  var html = '<div class="box" style= top:'+ top +'px; </div>';

我想向top添加一个常数,300,我试过:

var html = '<div class="box" style="text-align:left; top:'+(parseInt(top)+300).text()+'px; </div>';

但这没有正确显示,这是正确的方法吗?

3 个答案:

答案 0 :(得分:3)

您使用的HTML无效。您未使用<关闭开始标记的>,并且您没有结束属性的引用。要解决此问题,您需要执行以下操作:

var html = '<div class="box" style= top:'+ top +'px;"> </div>';

或添加常数,只需执行以下操作(不使用.text(),并使用">):

var html = '<div class="box" style="text-align:left; top:'+(parseInt(top)+300)+'px;"> </div>';

答案 1 :(得分:1)

你错了:

(parseInt(top)+300).text()

parseInt(top)+300)返回号码。 Javascript中Number没有text方法。你没有关闭标签。 试试这个:

var html = '<div class="box" style="text-align:left; top:'+(parseInt(top)+300)+'px;"> </div>';

答案 2 :(得分:0)

您只需将字符串转换为数字即可添加+作为前缀(一元添加)。

+top + 300

应该是这样的:

var html = '<div class="box" style="top:'+( +top + 300 )+'px;"></div>';

示例:

var top = "70";      // String
alert( +top + 300 ); // 370