欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

我如何應用分類成html的javascript代碼

江奕云2年前8瀏覽0評論

所以我有一個用戶可以創建的一些任務的html節點,當用戶單擊按日期排序時,我希望它在html中排序和更改,但我不知道如何做html部分,有什么想法嗎?

我可以在JS中進行排序,這真的不難,但我不知道如何將排序應用到html中,也許是將節點存儲到JavaScript變量中,然后清除任務列表并用排序的方式追加子元素?

您的輸入節點需要是動態的。 理想情況下,你可以使用react這樣的框架,這樣做很容易。 如果您使用普通的javascript,那么最簡單的方法(正如您已經建議的)是

使用類似parent.innerHTML = ' '的方法清除列表的父節點的子節點(有更好的方法來清除父節點的子節點,但不推薦使用這種方法,因為它不會清除子節點的任何事件偵聽器) 然后根據您的方便重新呈現列表項,并使用parent.append(child)函數將它們附加到父節點 例如 認為html是

<html>
  <div>
    <ul id="root-list-node">
    </ul>
  </div>
  <div>
    <button id="submit" onclick="submit()">
      order
    </button>
  </div>
</html>

并且相關聯的js將被

let listItems = [
    {text: "item1", order: 2},
    {text: "item2", order: 1},
    {text: "item3", order: 3},
]

const renderList = () => {
    const listRoot = document.getElementById("root-list-node")
    listRoot.innerHTML = ''; //clear all children
    const listItemNodes = listItems.map((element) =>{
        // mapping each list item to a new node with <li> tag
        let listItemNode = document.createElement("li")
        listItemNode.textContent = element.text //populating the text in this tag
      return listItemNode
  })
  
  listRoot.append(...listItemNodes) //appending the li node to the ul parent tag

}
window.onload = () => {
    renderList()
}

submit = () => {
    listItems.sort((a,b) => {
    return a.order - b.order
  })
  renderList()
}

在這里,renderList函數基于您的listItems動態地加載HTML中的內容,方法是刪除父節點可能有的任何子節點,然后追加新的子節點,這首先在onload期間完成。 當您單擊按鈕進行排序時,它會根據order屬性對listItems數組進行排序,然后再次運行renderList。

一個工作的js小提琴可以在這里找到https://jsfiddle.net/1Lwqtu8e/20/

創建一個擴展名為. html的HTML文件(例如index.html)。 在文本編輯器或集成開發環境(IDE)中打開HTML文件。 在HTML文件的部分中,添加一個標記來包含您的JavaScript代碼。您可以直接在標記中編寫JavaScript代碼,或者使用src屬性引用外部JavaScript文件。