js 找到ul>li>div>img里的src属性

image.png

var ul = document.getElementById('goodsImg');
var lis = ul.getElementsByTagName('li');
console.log(1111111111, ul);
console.log(2222222222, lis);
console.log(2323, lis.length);
console.log(3333333333,lis[0])

希望找到11111111里,ul>li>div>img的src,2222222222里可以看到li下面是有一个结果,但是2323里却显示length=0,所以这种样式的该如何才能找到src呢?

阅读 2.7k
3 个回答
  1. 首先,控制台打印的是快照,也就是说他是会变的。
  2. 其次,他是 HTMLCollection 对象,这个东西是个实时的。
  3. 然后就是你说你用的jquery。那么为啥要用原生去获取呢?

这种问题查到最后,肯定还是因为异步数据导致的

image.png

这种情况一般是dom还没加载完的时候就执行你的js语句导致的,
所以你要考虑你的js语句执行时机是不是有问题,
比如vue项目里需要在mounted钩子函数里执行,react需要在componentDidMount里执行。

请考虑ul列表是不是异步获取数据生成的,获取DOM的操作,要放在ul列表生成之后执行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题