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

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

為什么我的“this.innerHTML=prompt('Enter a number')”

為什么我的“this.innerHTML=prompt('Enter a number')”

九州編程 2023-01-06 15:47:12
我創建了一個<div>s 的 4x4 網格,您可以在其中單擊單元格,瀏覽器會提示您輸入數字。如果輸入文本,文本將顯示在您剛剛單擊的網格中。我讓它與以下代碼一起工作:<div onclick="this.innerHTML=prompt('Enter a number')"></div>但是,當我嘗試將此功能實現為以上述代碼為模型的函數時,我無法從提示中獲取要放入 innerHTML 屬性中的輸入。這是我試過的:function setText() {  this.innerHTML=prompt('Enter a number');}似乎有問題this.innerHTML。有誰知道如何this在函數中工作?我想this引用<div>觸發 onclick 事件的,但它似乎沒有這樣做。這是我寫的 HTML、CSS 和 Javascript:function setText() {  this.innerHTML=prompt('Enter a number');}* {  margin: 0;  padding: 0;}section {  display: flex;  height: 100vh;  justify-content: center;  align-items: center;  background-color: lightblue;}.grid {  display: grid;  gap: 2px;  grid-template-columns: repeat(4, 12vw);  grid-template-rows: repeat(4, 12vw);  font-size: 8vw;}.grid div {  background-color: green;  display: flex;  justify-content: center;  align-items: center;  color: white;}<section>  <div class="grid">    <div onclick="setText();"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>    <div onclick="this.innerHTML=prompt('Enter a number')"></div>  </div><section>任何幫助將不勝感激。
查看完整描述

2 回答

?
湖上湖

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

你需要傳遞this給函數。

<div onclick="setText(this)"></div>

然后在函數中使用參數變量。

function setText(div) {
  div.innerHTML=prompt('Enter a number');
}

有關詳細信息,請參閱“this”關鍵字如何工作?


查看完整回答
反對 回復 2023-01-06
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

this如果您使用 JavaScript 添加該值,則僅為事件處理程序設置該值,例如使用addEventListener.


document.querySelector('div').addEventListener('click', function(e){
   this.innerHTML=prompt('Enter a number') 
   });
<div>Click me</div>


查看完整回答
反對 回復 2023-01-06
  • 2 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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