2014-05-17 19 views
1

我有一些跨度与同一类。每个范围都有一个由PHP生成的数字。我需要将每个元素中的数字改变为相同数量的恒星。基于每个范围中的数字打印明星

因此,如果数字是4,将会有4颗星(*)。

我的实际代码:

$(function(){ 
    var number = $("parent-div").find("span").text(); 

    for (var i = 1; i < number; i++){ 
    $("span").append("*"); 
} 
}); 

那么,它不为我工作:/。我也尝试使用.replaceWith()和.text()而不是append()。

回答

1

你错过的类选择时期,并刚刚与明星更换号码,我会做这样的事情

$(".parent-div span").text(function (_, txt) { 
    return (new Array(parseInt(txt, 10) + 1)).join('*'); 
}); 

FIDDLE

+0

谢谢,奇迹般有效 :)。 –

1
$("parentdiv").find("span").each(function() { 
     var number = $(this).text(); 
     $(this).text(""); 
     for (var i = 1; i < parseInt(number); i++) { 
      $(this).append("*"); 
     } 
    }); 

http://jsfiddle.net/8jHpq/