我动态创建此列表元素,当点击按钮时,用户输入的信息显示在其中“信息”是文本并且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则显示为:***
,依此类推
答案 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专有但广泛实施)属性。