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

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

子跨度內的 <輸入 /> 未定義

子跨度內的 <輸入 /> 未定義

哈士奇WWW 2022-08-04 10:39:52
所以我目前正在嘗試訪問這個元素中的classNameHTML輸入:<div id="1">      <span>          <input name="classNameHTML" type="text" />      <span></div>我目前寫的代碼是let cObj = document.getElementById(1);let cObjClass = cObj.children[0].classNameHTML.value; <--- buggy line錯誤信息:Uncaught TypeError: Cannot read property 'value' of undefinedat calcGrade (index.html:172)at HTMLButtonElement.onclick (index.html:243)我以為 children[0] 會引用 span,然后我可以通過它的輸入名稱使用 reference classNameHTML??刂婆_說 clasNameHTML 在我執行控制臺時未定義.log()。誰能告訴我,我在這里用點運算符做錯了什么?
查看完整描述

2 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

如前所述:

let cObjClass = cObj.children[0].classNameHTML.value;

無效。分解:

coObj是周圍的 div。

.children[0]是 div 內的跨度。

.classNameHTML是具有該名稱的屬性,該屬性屬于 span。這不存在。

您需要在跨度內的輸入。這將為您提供輸入:

cObj.children[0].firstChild

然后,作為 span 的第一個子級的輸入值為:

cObj.children[0].firstChild.value

但是,如果您想按名稱而不是位置訪問輸入,請使用:

cObj.children[0].querySelector('[name="classNameHTML"]').value

這將使用 獲取 span 內的元素。name="classNameHTML"


查看完整回答
反對 回復 2022-08-04
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

如果要從元素中獲取類名,則應使用 .className 而不是 .classNameHTML.value


查看完整回答
反對 回復 2022-08-04
  • 2 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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