
Re:从零开始的markdown编辑器-2-去除空行
2.去除空行
效果展示
知识补充
模板字符串
input
for循环
实现思路
JS
这一步非常简单, 不需要思路, 但注意观察结构, 方便后续添加新功能与优化
处理原始输入
以换行符
\n
分割原始输入1
2
3
4
5
6/**
* 原有代码(部分)
* const input = document.getElementById('input');
*/
const ori = input.value;
let oris = ori.split('\n');去空
1
2
3
4
5
6
7
8// 去空
let filter = []
for (let i of oris){
if (i){
filter = [...filter, i]
}
}
md = filter.join('\n');将整体用函数嵌套
1
2
3
4
5
6
7
8
9
10
11
12function handleinput(ori){
let oris = ori.split('\n');
// 去空
let filter = []
for (let i of oris){
if (i){
filter = [...filter, i]
}
}
md = filter.join('\n');
return md;
};调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19document.addEventListener('DOMContentLoaded', (event) => {
const input = document.getElementById('input');
const output = document.getElementById('output');
input.addEventListener('input', (event) => {
output.innerHTML = handleinput(input.value);
});
});
function handleinput(ori){
let oris = ori.split('\n');
// 去空
let filter = []
for (let i of oris){
if (i){
filter = [...filter, i]
}
}
md = filter.join('\n');
return md;
};调试
在此阶段, 因为
HTML
渲染问题无法显示换行, 我们临时给每个元素添加一个p标签
来替代代码调整如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19document.addEventListener('DOMContentLoaded', (event) => {
const input = document.getElementById('input');
const output = document.getElementById('output');
input.addEventListener('input', (event) => {
output.innerHTML = handleinput(input.value);
});
});
function handleinput(ori){
let oris = ori.split('\n');
// 去空
let filter = []
for (let i of oris){
if (i){
filter = [...filter, `<p>${i}</p>`]
}
}
md = filter.join('\n');
return md;
};
代码展示
项目结构:
- index.html
- css
- index.css
- js
- index.js
index.html
1 |
|
index.css
1 |
|
index.js
1 |
|