Js获取父级,兄弟,子元素
// 获取子节点
document.getElementById("div").childNodes
// 获取子元素
document.getElementById("div").children[0]
// 第一个子元素
document.getElementById("div").firstChild
// 最后一个
document.getElementById("div").lastChild
// 父元素
document.getElementById("div").parentNode
// 所有的父节点
document.getElementById("div").offsetParent
// 所有的兄弟元素
document.getElementById("div").parentNode.children
// 上一个兄弟元素
document.getElementById("div").previousSibling
// 下一个兄弟元素
document.getElementById("div").nextSibling
NodeJs 格式化字符串
- %s - String 将用于转换除 BigInt、 Object 和 -0 外的所有值。BigInt 值将用 n 表示,而没有用户定义 toString 函数的对象使用带有选项 { depth: 0, colors: false, compact: 3 } 的 util.inspect() 进行检查。
- %d - Number 将用于转换除 BigInt 和 Symbol 之外的所有值。
- %i - parseInt(value, 10) 用于除 BigInt 和 Symbol 之外的所有值。
- %f - parseFloat(value) 用于除 BigInt 和 Symbol 之外的所有值。
- %j - JSON。如果参数包含循环引用,则替换为字符串 '[Circular]'。
- %o - Object。具有通用 JavaScript 对象格式的对象的字符串表示形式。 类似于带有选项 { showHidden: true, showProxy: true } 的 util.inspect()。 这将显示完整对象,包括非可枚举属性和代理。
- %O - Object。具有通用 JavaScript 对象格式的对象的字符串表示形式。 类似于 util.inspect() 但没有选项。 这将显示完整对象,不包括非可枚举属性和代理。
- %c - CSS。该说明符会被忽略,将会跳过任何传入的 CSS。
- %% - 单个百分号('%')。这不会消耗参数。
const util = require('util');
util.format('%s:%s', 'foo');
NodeJs Md5 加密
const crypto = require("crypto")
const getMd5 = (url) => crypto.createHash("md5").update(url).digest("hex");
console.log(getMd5("1234"))
JavaScript 时间格式化
// 时间格式化 new Date().format("yyyy-MM-dd hh:mm:ss")
Date.prototype.format = function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}