JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./index.css">
    <title>Document</title>
</head>

<body>
    <div id="h1Block">
        <h1>TO-DO-LIST</h1>
    </div>
    <div id="inputBlock">
        <div class="input-area">
            <input type="text" id="input" placeholder="請輸入待辦事項...">
            <select onchange="changeInputColor()" name="" id="priorSelect">
                <option id="" value="normal">Normal</option>
                <option id="" value="important">Important</option>
                <option id="" value="urgent">Urgent</option>
            </select>
            <button onclick="inputBtn()" class="inputBtn">Submit</button>
            <button onclick="exportBtn()" class="exportBtn">Export</button>
        </div>
    </div>
    <div id="outputBlock">
        <ul id="list">

        </ul>
    </div>
    <script src="./index.js"></script>
</body>

</html>

CSS

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }

body {
    background-color: darkslategray;
    /* background-repeat: none; */
    background-size: cover;
}

#h1Block {
    color: whitesmoke;
    font-size: larger;
    font-family: Fantasy;
    font-weight: bolder;
    text-decoration: underline;
    text-align: center;
}

#inputBlock {
    display: flex;
    justify-content: center;
    align-items: center;
}

#input {
    flex: 1;
    font-size: 20px;
    border-radius: 10px;
    border: 2px solid black;
}

#input:focus{
    border: 5px solid gray;
}

.redFont {
    color: red;
}

.orangeFont {
    color: orange;
}

.blackFont {
    color: black;
}

.inputBtn {
    border: 2px solid black;
    font-size: 18px;
    border-radius: 8px;
    background-color: darkred;
    color: white;
    padding: 1px;
}

.inputBtn:hover {
    border: 2px solid darkred;
    cursor: pointer;
    font-size: 18px;
    border-radius: 8px;
    background-color: white;
    color: black;
    padding: 1px;
}

.exportBtn {
    border: 2px solid black;
    font-size: 18px;
    color: white;
    background-color:blueviolet;
    border-radius: 8px;
    padding: 1px;
}

.exportBtn:hover {
    cursor: pointer;
    border: 2px solid blueviolet;
    font-size: 18px;
    color: black;
    background-color:white;
    border-radius: 8px;
    padding: 1px;
}

#outputBlock {
    width: 400px;
    margin: auto;
}

#list{
     /* border: 5px solid black; */
}

#list li {
    list-style-type: none;
    display: flex;
    justify-content:flex-end;
    padding: 1px;
    margin: 15px;
    background-color: lightblue;
    border-radius: 5px;
    /* border: 3px solid black; */
}

#list li span{
    flex: 1px;
    text-align: left;
    font-size: 18px;
    padding: 6px;
    /* border: 1px solid black; */
}

#list li p{
    flex: 1px;
    text-align: left;
    font-size: 18px;
    padding: 6px;
    /* border: 1px solid black; */
}

#list button {
    border-radius: 5px;
    border: 0 px;
   ...

JavaScript

function inputBtn() {
    const listText = document.querySelector('#input').value;
    let list = document.querySelector('#list');
    let elemSpan = document.createElement('span');
    let elemLi = document.createElement('li');
    let elemBtn = document.createElement('button');
    let doneBtn = document.createElement('button');
    let statusText = document.createElement('p');

    let prior = document.querySelector('#priorSelect');
    let index = prior.selectedIndex;
    let priorText = prior.options[index].text;

    if(listText==""){
        alert("您未輸入待辦事項:(");
    }else{    
        elemSpan.textContent = listText;
        doneBtn.textContent = '[標記完成]';
        elemBtn.textContent = 'Delete';
        statusText.textContent = '(已完成)';
        statusText.className = 'statusText';
        doneBtn.className = 'doneBtn';
    
        list.append(elemLi);
        elemLi.append(elemSpan,statusText,doneBtn,elemBtn);
    
        elemBtn.onclick = delBtn;
        doneBtn.onclick = statusCheck;
    
        if (priorText == 'Important') {
            elemSpan.className = 'important';
        }
    
        if (priorText == 'Urgent') {
            elemSpan.className = 'urgent';
        }
    }
}

function delBtn() {
    event.target.closest('li').remove();
}

function exportBtn() {
    let listText = document.querySelectorAll('li span');
    let exportText = "待辦事項: ";
    let num = 1;

    if(listText.length==0){
        alert("無清單可匯出:(");
    }else{
        for (var x of listText) {
            if (x.className == 'important') {
                exportText = exportText + '(' + num.toString() + ')*' + x.textContent + "* ";
            } else if (x.className == 'urgent') {
                exportText = exportText + '(' + num.toString() + ')**' + x.textContent + "** ";
            } else {
                exportText = exportText + '(' + num.toString() + ')' + x.textContent + " ";
            }
            num = num + 1;
        }
        alert(exportText);
   ...