刷网课-踩坑——jsDOM获取不到页面元素节点-iframe标签获取元素节点

今天打算写串代码刷一下网课,遇到了写问题记录一下
代码目的:打算实现以下功能:图文自动浏览,视频结束后跳转
遇到的问题:在某通中一直获取不到元素节点。
解决:回头看了一下源码,调用了iframe标签
这不就好解决了嘛,话不多说上代码

//当页面加载完成执行方法
window.onload = function (){
	//全局变量
	var i = 582861594;
setInterval(function(){
	//获取视频节点
	var iframe = document.querySelector("iframe中的id,name,class");
	//主要就是如何获取iframe中的元素节点
	//我这里解决的是嵌套的iframe 注意
	var md = iframe.contentWindow.document.querySelector("iframe中的元素节点的id,name,class").contentWindow.document.querySelector("iframe内部的元素节点的id,name,class");
		//判断视频是否存在
		if(md==null){
		
			i++;
			getTeacherAjax('226700199','59356989',i);
		}
		if(iframe.contentWindow==null){
			i++;
			getTeacherAjax('226700199','59356989',i);
		}
		//获取当前视频的播放时间
		var m1=md.currentTime;
		//获取视频结束的时间
		var m2=md.duration;
		//当视频结束时
		if(m1==m2){
			//调用方法
			i++;
			getTeacherAjax('226700199','59356989',i);
		}
		//paused判断视频是否暂停 true暂停false播放
		if(md.paused==true){
			//开始
			md.play();//播放视频
		}
	},3000)
}

解释一下相关的属性

contentDocument 属性能够以 HTML 对象来返回 iframe 中的文档,可以通过所有标准的 DOM 方法来处理被返回的对象。

contentWindow 这是个只读属性,返回指定的iframe的窗口对象。它虽然不是标准的一部分,但各个主流浏览器都支持。
contentDocument Firefox 支持,IE6,IE7都不支持,IE8开始支持

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
获取DOM元素节点有多种方法。其中包括通过id获取节点、通过标签获取节点数组以及通过类名获取节点数组。 通过id获取节点是通过元素的唯一id属性来获取元素节点的方法。例如,可以使用document.getElementById("box1")来获取id为"box1"的元素节点。 通过标签获取节点数组是通过元素标签名来获取一组相同标签名的元素节点的方法。例如,可以使用document.getElementsByTagName("div")来获取所有标签名为"div"的元素节点数组。 通过类名获取节点数组是通过元素的类名来获取一组具有相同类名的元素节点的方法。例如,可以使用document.getElementsByClassName("box2")来获取所有类名为"box2"的元素节点数组。 另外,还有一些其他的属性可以用于获取节点,比如childNodes属性可以返回指定元素的所有子节点的集合,包括元素节点、属性节点和文本节点。要获取第一个子元素节点,可以使用firstElementChild属性(在IE9及以上版本中可用)或者firstChild属性(在IE6、7和8中可用)。 综上所述,根据具体需求,可以选择使用适当的方法来获取DOM元素节点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JavaScript学习笔记——DOM元素节点获取](https://blog.csdn.net/Nozomi0609/article/details/108442668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Too_Soup_Soup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值