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

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

無法使用 childNodes(DOM) 為輸入字段提供輸入值

無法使用 childNodes(DOM) 為輸入字段提供輸入值

蕭十郎 2022-12-02 16:59:32
我必須僅使用 dom 提供輸入,即與 childNodes 一起使用。我不能使用 document.getElement By ID 到名字和所有其他輸入輸入字段。這是我到目前為止所嘗試的。它顯示了我在控制臺中使用 DOM 設置的值但不在輸入字段中。var inp=document.getElementById("form-content");inp.childNodes[0].value="IsatAvalue";console.log(inp.childNodes[0].value);<div>    <h1>DOM</h1>    <div id="form-content" class="content"    ><br><label for="first-name">First Name</label>    <br><input type="text" id="first-name"/>    <label for="last-name"><br>Last Name</label>    <br><input type="text" id="last-name"/>    <label for="email"><br>Email</label>    <br><input type="text" id="email" />    </div>    <div id="main-content" class="content">    <p class="render">First Name : Alex</p>    <p class="render" id="lastName">Last Name: Bank</p>    <p class="render"> Email : [email protected]</p>    <p class="render"> Country : Pakistan </p>    <p class="render"> contact : +92 300 1234567</p>    </div></div>
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

childNodes將包括元素的所有子節點,包括文本節點。(例如,您inp.childNodes[0]實際上指的是第一個<br>.


您絕對不想在 childNodes 上使用數組索引來標識表單輸入;您的代碼將非常脆弱,并且基本上只要有人編輯 HTML 就會中斷(只需在節點之間添加一些文本就足以更改索引號。)


您可以通過僅選擇您想要的特定標簽類型的元素來稍微改進這一點:


var inputs = document.querySelectorAll('#form-content input'); // select all inputs inside #form-content

inputs[0].value="first name"

console.log(inputs[0].value)

<div>

    <h1>DOM</h1>

    <div id="form-content" class="content"

    ><br><label for="first-name">First Name</label>

    <br><input type="text" id="first-name"/>

    <label for="last-name"><br>Last Name</label>

    <br><input type="text" id="last-name"/>

    <label for="email"><br>Email</label>

    <br><input type="text" id="email" />

    </div>

    <div id="main-content" class="content">

    <p class="render">First Name : Alex</p>

    <p class="render" id="lastName">Last Name: Bank</p>

    <p class="render"> Email : [email protected]</p>

    <p class="render"> Country : Pakistan </p>

    <p class="render"> contact : +92 300 1234567</p>

    </div>

</div>

...但我也不會這樣做:雖然它比使用 childNodes 更容易破壞,但它仍然取決于表單元素的順序,永遠不會改變。

我強烈建議為每個特定的表單字段使用特定的標識符(無論是使用 ID 還是數據屬性),而不是在代碼中構建對特定布局的依賴性。


查看完整回答
反對 回復 2022-12-02
  • 1 回答
  • 0 關注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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