JavaScript,在变量中为循环存储
我遇到了这个愚蠢的问题,因为jquery和javascript不是很好的语言。正如你在这里看到的:JavaScript,在变量中为循环存储,javascript,jquery,Javascript,Jquery,我遇到了这个愚蠢的问题,因为jquery和javascript不是很好的语言。正如你在这里看到的: let blokla = '<select>' + test = function (info) { for (i = 0; i < info.length; i++) { '<option>' + info[i].title + '</option>'
let blokla = '<select>' +
test = function (info) {
for (i = 0; i < info.length; i++) {
'<option>' + info[i].title + '</option>'
}
} + '</select>';
让blokla=''+
测试=功能(信息){
对于(i=0;i
我试图使用for循环将and存储在变量和中间变量中。我正在使用此变量,以便在单击它时可以使用按钮进行替换
我尝试用替换第一行中的+,但没有成功。在ES6中,我建议您了解字符串插值和Array.reduce
const title=[
“欧比”,
"万",,
“克诺比”,
];
常量mySelect=`
${title.reduce((tmp,x)=>`${tmp}${x}`,'')
`;
console.log(mySelect)代码>您以错误的方式处理问题。您可以使用map()
在所有info
元素上循环,并由此生成
元素,而不是试图定义在字符串中循环的函数
var options = info.map(item => `<option>${item.title}</option>`);
let blokla = `<select>${options.join('')}</select>`;
var options=info.map(item=>`${item.title}`);
让blokla=`${options.join('')}`;
var数据=['1','2','3','4'];
var html=“”+生成选项(数据)+“/”;
函数生成选项(数据)
{
var returnHtml=“”;
对于(var i=0;i您可以使用
函数选择选项(){
var blokla='';
对于(i=0;i
不生成HTML-它通常速度较慢,更容易出错,更难维护。以编程方式生成DOM元素:
const info=[
{标题:“一”},
{标题:“两个”},
{标题:“三”},
{标题:“四”},
]
让blokla=document.createElement('select');
信息
.map(item=>item.title)//获取标题
.map(title=>{//为每个
让option=document.createElement('option');
option.textContent=标题;
返回选项;
})
.forEach(option=>blokla.appendChild(option));//添加到选择
//只是为了显示这个元素会有什么HTML
console.log(blokla.outerHTML);
//附加元素
document.body.appendChild(blokla)因为jquery和javascript不是很好的语言
,我想不出有多少种语言可以让你在字符串中定义函数,更不用说没有目的的函数了。我认为javascript在很多方面都是非常好的语言。我同意jquery不是一种很好的语言。它是一个很好的library.@PriyankMotivaras我同意。然而,出于这个原因称某些东西“不太好”是难以置信的错误,没有必要使用test=function(info)
。只需在开始和结束标签之间循环运行选择标签。我想你会发现,这里的人总是会给出有用的信息,通常在发帖后几分钟内回复。而且,你不需要试图让你的帖子更有趣。你所需要做的就是清楚地解释问题、你尝试过什么以及你是什么寻找。请阅读。请阅读@ScottMarcus好的,我读过了,但我认为我的排序答案会有所帮助。如果你读过,你会知道你的答案没有提供任何上下文。像这样的只写代码的答案不会让OP知道他们的代码出了什么问题,或者你的代码是如何解决问题的。没有解释,任何人将如何学习和解决问题了解您提供的内容吗?请记住,堆栈溢出不仅仅是为了回答OP的问题,它是为将来可能遇到相同或类似问题的其他人提供的知识库。@ScottMarcus您是对的,我将分享我的答案,并提供更多解释☺️
function selectOption(){
var blokla = '<select>';
for (i = 0; i < info.length; i++) {
blokla += '<option>' + info[i].title + '</option>'
}
blokla += "</select>";
return blokla;
}
console.log(selectOption())