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

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

存在并且顯示出來的DOM元素取不到,只有審查元素之后才能取到?

存在并且顯示出來的DOM元素取不到,只有審查元素之后才能取到?

喵喵時光機 2018-09-15 10:24:58
昨天同事寫JS代碼遇到一個問題,就是有一個HTML中的元素,這里用<div id="zz"></div>代替那個元素。這一個元素,已經在頁面里呈現了出來。但是無論是用document.getElementById("zz")還是jQuery中的$("#zz")方法都不能取到,在JS下和jQuery下分別返回null和[],但是在審查元素過后,兩種辦法就都能取到了,特別奇怪。這是什么原因造成的???只有手動審查元素才能取到元素,不審查就在DOM上沒有。(不管怎么刷新都沒用,還是得審查才能找到元素)PS:瀏覽器是較新版的chrome,因為是同事寫的代碼,現在已經刪了換處理方式了,所以沒法貼出來,希望有遇到過同樣問題的大神能夠指導一下。補充:這個元素是iframe中的元素。
查看完整描述

1 回答

?
慕虎7371278

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

如果JavaScript代碼在html里的head中引入;
獲取DOM節點,需要在DOM結構加載完成才可以獲取到;

/*jQuery方法*/

$(function() {

    var $div = $('#zz');

    console.log($div)

});



/*JavaScript原生方法*/

window.onload = function () {

    var obj = document.getElementById('zz');

    console.log(obj);

    console.log('DOM加載完畢')

};

/*建議使用*/

document.addEventListener('DOMContentLoaded', function(event) {

    var obj = document.getElementById('zz');

    console.log(obj);

    console.log('DOM加載完畢')

});


查看完整回答
反對 回復 2018-10-23
  • 1 回答
  • 0 關注
  • 1883 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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