跳至主要內容

获取已存在的DOM元素

执念Web基础2022年8月12日DOM大约 1 分钟约 356 字...

获取已存在的DOM元素

问题描述:有一个HTML中的元素,已经在页面里呈现了出来。但是无论是用document.getElementById("zz")还是jQuery中的$("#zz")方法都不能取到,在JS下和jQuery下分别返回null[],但是在审查元素过后,两种办法就都能取到了,特别奇怪。这是什么原因造成的啊?只有手动审查元素才能取到元素,不审查就在DOM上没有。(不管怎么刷新都没用,还是得审查才能找到元素)

1.网络解决办法

如果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加载完毕')
});

2.实际解决办法

采取上述方法问题仍未得到解决。通过检查发现,这是由于该元素写在iframe 下面,需要先获取iframe然后获取iframe中的元素才能取到。但是在学习如何获取iframe页面元素并采用多种写法后仍然没有取到,最后突然发现直接用document.getElementBy.val()就能够取到元素。

你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度