【JS】JavaScript笔记 油猴脚本

等待页面加载完成后执行代码[1]

//在JavaScript中
window.onload=function(){
	//do something
}
 
//元素载入完成后,执行某些动作
document.getElementById("imgID").onload=function(){
	//do something
}

//在 HTML 中,通常用于 <body> 元素
<body onload="JS方法名">

获取DIV的属性值[2]

document.getElementById('mochu').getAttribute('title');

修改div内容[3]

document.getElementById('updateId').innerHTML = 'xxx';

改变元素的样式[4]

元素对象名.style.样式名="样式值"//添加或者修改
元素对象名.style.样式名=""//删除样式

注意:以上操作,操作的是HTML的style属性声明中的行类样式样式。而不是其他css代码域中的样式。

异常捕获[5]

try {
  openFile('../test.js')
} catch(e) {
  // 优雅地处理抛出的期望
}

根据自定义属性的值查找元素[6]

document.querySelector("div[dataid='222']")

父子兄弟节点[7]

//父节点
document.getElementById("test").parentNode;

//子节点
document.getElementById("test").getElementsByTagName("div");
document.getElementById("test").children[0];

//兄弟节点
document.getElementById("test").parentNode.children[1];
document.getElementById("test").previousElementSibling; //获取上一个兄弟节点
document.getElementById("test").nextElementSibling; //获取下一个兄弟节点

删除节点[8]

document.getElementById(divId).remove();

打开/关闭窗口[9、10、23、24]

window.opener=null;window.open('','_self');window.close(); //关闭

window.open('http://www.baidu.com','_blank'); //跳转到新页面显示
window.open('http://www.baidu.com','_self'); //刷新当前页面或者覆盖当前页面

location.reload(); //刷新当前文档

定时器[11]

//延时定时器 在固定时间(毫秒)后执行一次代码
setTimeout(function(){
	//do something
},1000);

//间隔定时器 按照指定周期(毫秒)执行
setInterval(function(){
	//do something
},1000);

获取当前页面URL[12]

window.location.href; /* 获取完整URL */
/* http://127.0.0.1:8020/Test/index.html#test?name=test */
 
window.location.pathname; /* 获取文件路径(文件地址) */
/* /Test/index.html */

window.location.hash; /* 获取锚点(“#”后面的分段) */
/* #test?name=test */
 
window.location.search; /* 获取属性(“?”后面的分段) */
/* ?name=test */

字符串与数字运算[13、14]

//在所有数字运算中, JavaScript 会将字符串转为数字,但是加法会进行级联
"12" + 12 = 1212;
"12" - "10" = 2;
//字符串前面有符号,没有别的东西,字符串转换成数字
+"12" + 34 = 46;

字符串常用方法(截取、替换、拼接)[15、16、17、18]

//查找索引
str.indexOf('1'); // 返回第一个字符1的下标
str.indexOf('1',5); // 以下标5开始,返回第一个字符1的下标
s.lastIndexOf('1'); // 返回最后一个字符1的下标
str.lastIndexOf('1',5); // 以下标5为终点,返回最后一个字符1的下标

//替换
str1 = str.replace("world", "js"); 

//截取
str.slice(beginIndex[, endIndex]) //如果endIndex为负数,则被看作是strLength + endIndex
str.substr(beginIndex[, length]) //如果beginIndex为负数,则被看作是strLength + beginIndex
str.substring(beginIndex[, endIndex]) //endIndex非负

刷新页面仍保留数据[19、22]

//保存数据,长期有效直到过期(设置了过期时间)
 localStorage.setItem(keyname, value); //key and value should be string.
 localStorage.getItem(keyname);

//当前会话有效,同一个域名下的所有tab都关闭了失效
sessionStorage.setItem(keyname, value); //key and value should be string.
sessionStorage.getItem(keyname);

注意: 存储的值都是字符串,只要有值就都是true,空值('')代表的就是false

脚本点击视频无法正常播放[20]

设置volume为0后再调用play()

var video = document.getElementById("J_prismPlayer").getElementsByTagName("video")[0];
video.volume = 0;
video.play();

判断一个<video>元素是否正在播放[21]

var isVideoPlaying = !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);
// !!将变量隐式转换为布尔型

向页面中添加元素[25、26]

var div = document.createElement('div');
div.innerHTML = 'your html code'; //``可创建多行文本
document.body.appendChild(div);
div.outerHTML = div.innerHTML;
//innerHTML设置或获取位于对象起始和结束标签内的HTML e.g. <h5>就是喜欢你</h5>
//outerHTML设置或获取对象及其内容的HTML形式 e.g. <div id="test"><h5>就是喜欢你</h5></div>

向页面中添加JS脚本[27]

var script = document.createElement("script");  //创建一个script标签
script.type = "text/javascript";
try {
   //IE浏览器认为script是特殊元素,不能再访问子节点;报错;
   script.appendChild(document.createTextNode(code));
}
catch (ex) {
   script.text = code;
}
document.getElementsById('test').appendChild(script);

参考资料

  1. JS,两种在页面加载完成后自动执行的方法(ready,onload)_js页面加载完成后执行-CSDN博客
  2. JS获取和设置元素的属性以及属性值 - 飞鸟慕鱼博客
  3. JS修改div内容_乡野码夫的博客-CSDN博客
  4. JavaScript是如何改变元素的样式_js改变元素样式_如梦灬初醒的博客-CSDN博客
  5. JavaScript 中的异常处理 - 掘金
  6. js怎么根据自定义属性的值来查找元素_js根据自定义键值获取元素_慕容屠苏的博客-CSDN博客
  7. JS获取子节点、父节点和兄弟节点的方法实例总结 - 掘金
  8. JavaScript:js删除dom节点或div的2种常见方式,附例子和运行效果_js删除div_秋9的博客-CSDN博客
  9. js关闭当前页面(窗口)的几种方式总结 - 掘金
  10. JS打开新页面的两种方式:当前页面打开和新页面打开_IT_小赵的博客-CSDN博客
  11. 定时器setTimeout()、setInterval()详解_yunzhonmghe的博客-CSDN博客
  12. 使用JS获取当前页面的URL(网址信息)_拿到页面url_Devere的博客-CSDN博客
  13. JavaScript 数字与字符串的加减乘除运算_超级无敌小湾娘的博客-CSDN博客
  14. JavaScript中字符串与数字间的运算_js字符串加数字等于什么_Poetry Code的博客-CSDN博客
  15. JS字符串常用方法(截取、替换、拼接)_Mason_xm的博客-CSDN博客
  16. java中 indexOf() 与lastIndexOf() 用法详解_有时候我也会的博客-CSDN博客
  17. JavaScript中String的slice(),substr(),substring()三者区别_巨輪的博客-CSDN博客
  18. JavaScript 中的字符串切片操作(slice、substr、substring)_前端的莹莹的博客-CSDN博客
  19. 刷新页面仍保留当前数据显示_js刷新页面保留数据_koeika科科的博客-CSDN博客
  20. 油猴脚本点击视频无法正常播放问题解决方案-油猴中文网
  21. 如何判断一个<video>元素是否正在播放? - IT宝库
  22. sessionStorage存储的值–坑-CSDN博客
  23. 跳转页面及js打开新窗口的常用方式(含不被浏览器拦截) - 掘金
  24. js 刷新当前页面 | 菜鸟教程
  25. javascript - 原生 js 如何追加 html - SegmentFault 思否
  26. innerHTML和outerHTML区别-CSDN博客
  27. JavaScript动态创建script标签并执行js代码 - enych - 博客园
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值