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

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

jquery在我試圖抓取的div元素的id上得到一個“未定義”

jquery在我試圖抓取的div元素的id上得到一個“未定義”

慕田峪7331174 2021-12-23 14:28:59
所以我使用 JavaScript 動態生成 HTML 代碼,這些代碼加載到我的 Firebase 實時數據庫中的所有圖像中。我目前正在實現一個附加到每個圖像的按鈕,單擊該按鈕將刪除該圖像。但是,在使用標準 JavaScript 和 Jquery 多次嘗試獲取此 div 的 ID 屬性后,警報框中的 id 始終為“未定義”。檢查網頁讓我看到圖像的 id 總是加載得很好,所以我知道它在那里。JavaScript 函數來響應我的 html 'onclick 事件'function deleteFile(){var postId = $(this).closest('div').attr('id');alert("You have selected id: " + postId);var sure = confirm("Are you sure you want to delete this post?"); if(sure){    firebase.database().ref().child('Posts/' + postId).remove().then(function(){        alert("Post deleted sucessfully");      });    }  };附加的圖像是在實際的 chrome 檢查器上生成的 html。ID當然都是唯一的。
查看完整描述

2 回答

?
白豬掌柜的

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

this在您的 html onclick 屬性上添加參數,使其成為deleteFile(this)


然后在你的 js 上


function deleteFile(element){

    var postId = $(element).closest('div').attr('id');

    alert("You have selected id: " + postId);

    var sure = confirm("Are you sure you want to delete this post?");

    if(sure){

        firebase.database().ref().child('Posts/' + postId).remove().then(function(){

            alert("Post deleted sucessfully");

        });

    }

};


查看完整回答
反對 回復 2021-12-23
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

與 onclick 配對$(this)不會像您預期的那樣工作,因為$(this)有不同的上下文,您可以使用查看其值console.log($(this));

應該做的是向該按鈕添加一個類并通過 jquery 綁定一個 onclick 事件。運行下面的代碼片段。

  • 紅色 div 包含通過 jquery 附加的 onclick 事件。

  • 黃色 div 包含附加到按鈕屬性 onclick 的 onclick 事件。

$(document).ready(function(){

   $(".getIdButton").click(function() {

      alert($(this).closest("div").attr("id"));

   });

});


function getId() {

  alert($(this).closest("div").attr("id"));

  console.log($(this));

}

div {

  width: 100px;

  height: 100px;

  padding: 20px;

  display: inline-block;

}


#red {

  background-color: red;

}


#yellow {

  background-color: yellow;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<div id="red">

  <a href="#">Just a link</a>

  <button class="getIdButton">Click Me</button>

</div>


<div id="yellow">

  <a href="#">Just a link</a>

  <button onclick="getId()">Click Me</button>

</div>


查看完整回答
反對 回復 2021-12-23
  • 2 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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