点击按钮生成统一类名Div:基于字符串数组的前端实现需求
修正并实现点击按钮生成带类名的Div元素需求
先聊聊现有代码里的几个小问题:
- 你定义的
arrayVariable是逗号分隔的字符串,不是真正的数组,直接用arrayVariable[i]会拿到每个字符,而不是"one"、"two"这种完整元素 - 循环变量
i没加声明,会变成全局变量,容易引发意外问题 - 原生JS获取元素时
document.getElementById("#inputcomshow")多了个#,不过你用jQuery的$('#inputcomshow')是正确的,这点不用改
下面是修正后的完整实现:
1. 按钮代码调整
给按钮加上return false;,避免ASP.NET按钮默认的服务器回发导致页面刷新,刚生成的div会直接消失:
<asp:Button OnClientClick="abc(); return false;" runat="server" Text="生成Div" />
2. 修正后的JavaScript函数
function abc() { // 把逗号分隔的字符串转换成真正的数组 var arrayVariable = "one,two,three"; var itemsArray = arrayVariable.split(','); // 获取要追加元素的容器 var container = $('#inputcomshow'); // 可选:如果需要每次点击先清空之前的内容,解开下面这行注释 // container.empty(); // 遍历数组生成每个带类名的div for (let i = 0; i < itemsArray.length; i++) { var temp = document.createElement('div'); temp.className = 'results'; temp.textContent = itemsArray[i]; // 纯文本用textContent更安全,避免XSS风险 container.append(temp); } }
额外小提示:
- 用
split(',')把字符串分割成数组后,遍历就能拿到每个完整的元素了 - 用
let声明循环变量i,避免全局变量污染 - 如果你的数组本来就是JS数组(比如
var itemsArray = ["one","two","three"]),直接跳过字符串分割那步就行
内容的提问来源于stack exchange,提问作者aparna rai
相关产品推荐
相关产品推荐

