亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請幫助我完成 HTML 和 Javascript 任務

請幫助我完成 HTML 和 Javascript 任務

PHP
Helenr 2023-07-08 20:46:20
我正在嘗試從 HTML 文檔中提取類和 ID。<textarea class="output"></textarea>我希望在單擊“提交”按鈕時顯示結果。HTML:  <div id="fullwidth">    <div id="wrapper">      <div id="content">        <div class="fifty">          <textarea class="input">            <div class="font step_footer">              <div class="container">                <div class="font-in">                  <ul class="d-flex flex-wrap">                    <li class="col-md-3 col-4">                      <div class="font-list">                        <p>Notre équipeM<br> reconnus<br>obtient<br>istance</p>                      </div>                    </li>                  </ul>                </div>              </div>            </div>          </textarea>          <div id="button-div">            <button id="button">Submit</button>          </div>        </div>        <div class="fifty">          <textarea class="output"></textarea>        </div>      </div>    </div>  </div>javascript:  const main = () => {    console.log(emptyInnerHTML(document.body))  }    const emptyInnerHTML = (element) => {    return renderHTML(describeHTML(element)).innerHTML  }    const describeHTML = (node) => {    return ({      tagName: node.tagName,      id: node.id || undefined,      classList: [...node.classList],      children: [...node.childNodes]        .filter(child => child.nodeType != Node.TEXT_NODE && child.tagName !== 'SCRIPT')        .map(child => describeHTML(child))    })  }    const renderHTML = (tree) => {    let node = document.createElement(tree.tagName)    if (tree.id) node.setAttribute('id', tree.id)    if (tree.classList && tree.classList.length) node.className = tree.classList.join(' ')    if (tree.children && tree.children.length) {      tree.children.forEach(child => node.appendChild(renderHTML(child)))    }    return node  }    main()檢查 Codepen Console 選項卡時就會出現結果。我為它創建了一個 Codepen 頁面。您可以在此 Codepen 鏈接中看到它: https ://codepen.io/coderco/pen/BajJMav 我想在單擊“提交”按鈕時將其作為結果。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

工作代碼??!


觀察右側的輸出textarea,單擊submit按鈕后,您將能夠看到與當前加載時看到的相同結果。


const main = () => {

  document.getElementById("resultArea").value = emptyInnerHTML(document.body);

};


const emptyInnerHTML = (element) => {

  return renderHTML(describeHTML(element)).innerHTML;

};


const describeHTML = (node) => {

  return {

tagName: node.tagName,

id: node.id || undefined,

classList: [...node.classList],

children: [...node.childNodes]

  .filter(

    (child) =>

      child.nodeType != Node.TEXT_NODE && child.tagName !== "SCRIPT"

  )

  .map((child) => describeHTML(child))

  };

};


const renderHTML = (tree) => {

  let node = document.createElement(tree.tagName);

  if (tree.id) node.setAttribute("id", tree.id);

  if (tree.classList && tree.classList.length)

node.className = tree.classList.join(" ");

  if (tree.children && tree.children.length) {

tree.children.forEach((child) => node.appendChild(renderHTML(child)));

  }

  return node;

};


const onSubmit = () => {

  main();

};

#fullwidth {

  width: 100%;

  display: inline-block;

  font-family: Arial;

}


#wrapper {

  margin: 0 auto;

  width: 1100px;

}


#content {

  width: 100%;

  display: inline-block;

}


.fifty {

  width: 50%;

  float: left;

  padding: 5px;

  box-sizing: border-box;

}


.input,

.output {

  width: 100%;

  height: 200px;

  border: 1px solid #ccc;

  border-radius: 9px;

  padding: 10px;

  box-sizing: border-box;

}


#button-div {

  width: 100%;

  display: inline-block;

}


#button {

  float: right;

  width: 125px;

  height: 50px;

  border-radius: 9px;

  border: 1px solid #db4907;

  background: #ec350b;

  color: #fff;

  font-size: 18px;

  text-transform: uppercase;

}


#button:hover {

  color: #000;

}

<div id="fullwidth">

  <div id="wrapper">

    <div id="content">

      <div class="fifty">

        <textarea class="input">

<div class="font step_footer">

<div class="container">

<div class="font-in">

<ul class="d-flex flex-wrap">

<li class="col-md-3 col-4">

<div class="font-list">

<img src="/img/font-img1.png" width="145" alt="img">

<p>Notre équipeM<br> reconnus<br>obtient<br>istance</p>

</div>

</li>

</ul>

</div>

</div>

</div>

</textarea>

        <div id="button-div">

          <button id="button" type="submit" onclick="onSubmit()">Submit</button>

        </div>

      </div>

      <div class="fifty">

        <textarea id="resultArea" class="output"></textarea>

      </div>

    </div>

  </div>

</div>


查看完整回答
反對 回復 2023-07-08
?
慕勒3428872

TA貢獻1848條經驗 獲得超6個贊

<div id="button-div">
    <button id="button" type="submit">Submit</button>
</div>


查看完整回答
反對 回復 2023-07-08
  • 2 回答
  • 0 關注
  • 140 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號