将参数更改为另一个符号的功能

时间:2013-03-17 23:42:06

标签: javascript jquery

我动态创建此列表元素,当点击按钮时,用户输入的信息显示在其中“信息”是文本并且shuld显示为原样但“等级”是我要转换为另一个的数字使用函数changeNumber()进行签名,但我是javascript的新手并且无法弄清楚如何使用此函数,任何人都可以给出建议或指向正确的方向吗?

    var list = $("#filmlista");
    var list_array = new Array();

    function updateFilmList()
{
        document.getElementById("name").value = '';
        document.getElementById("star").value = 0;
        var listan = list_array[0][0];
        var grade = list_array[0][1];
        var element = '<li class="lista">' + list + '<span class="grade">'+ changeNumber(grade) +'</span></li>';
        list.append(element);

}

我应该使用innerHTML吗?我不明白它是如何工作的?如果我必须将许多不同的数字替换为数字的符号数量,我该如何使用替换方法?

例如,如果数字为5,则应显示为:*****,如果数字为3则显示为:***,依此类推

3 个答案:

答案 0 :(得分:1)

这里有一些代码可以解决这个问题:

将此功能添加到您的脚本中。

function changeNumber(number) {
    var finalProduct = "";

    for (var i = 0; i < number; i++) {
        finalProduct += "*";
    }

    return finalProduct;
}

用此代码替换updateFilmsList。

document.getElementById("name").value = '';
document.getElementById("star").value = 0;
var listan = list_array[0][0];
var grade = changeNumber(list_array[0][1]);
var element = '<li class="lista">' + list + '<span class="grade">'+ grade +'</span></li>';

list.append(element);

答案 1 :(得分:0)

看起来你正在尝试像PHP的str_repeat那样做。在这种情况下,请查看str_repeat from PHPJS

答案 2 :(得分:0)

除了循环之外还有其他选项:

function charString(n, c) {
  n = n? ++n : 0;
  return new Array(n).join(c);
}

charString(3, '*'); // ***

您可以使用innerHTML设置元素的文本内容,前提是没有任何文本可能被误认为是标记。否则,请根据需要设置textContent(符合W3C)或innerText(IE专有但广泛实施)属性。