js常用代码
- JS笔记
- 2023-05-04
- 292热度
- 0评论
动态加载数据绑定事件(ios没反应,需要另外添加一个空事件onclick="")
$(document).on('click', '#list li', function() {
//function code here.
});
遍历含有某个class的内容
$.each($(".itemlist .itemcheked span"), function(index, item) {
choseCateId += $(item).text() + ",";
});
文本框只能输入数字和小数点
onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')"
JS控制只能输入数字并且最多允许小数点两位
function clearNoNum(obj) {
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数
if (obj.value.indexOf(".") < 0 && obj.value != "") {//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
obj.value = parseFloat(obj.value);
}
}
onkeyup="clearNoNum(this)"
img错误默认图片
onerror="this.src=\'../../images/goods-default.png\'"
js正倒序倒序取数据
//正序
for (var item in model) {
html += '<li>';
html += '<p>' + model[item].AjpushDate + '</p>';
html += '</li>';
}
//倒序
for (var i = model.length - 1; i >= 0; i--) {
html += '<li>';
html += '<p>' + model[i].AjpushDate + '</p>';
html += '</li>';
}
全选封装
function checkAll(ele1, ele2) {
$(ele1).parents(ele2).find("input:checkbox").prop("checked", ele1.checked);
}
取数组最小最大值
/**
* 获取数组中最小值
*/
function getMinVal(arr){
var min = arr[0];
var len = arr.length;
for (var i = 1; i < len; i++){
if (arr[i] < min){
min = arr[i];
}
}
return min;
}
/**
* 获取数组中最大值
*/
function getMaxVal(arr){
var max = arr[0];
var len = arr.length;
for (var i = 1; i < len; i++){
if (arr[i] > max){
max = arr[i];
}
}
return min;
}
移动端分页
var page = 2;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
getNearSeller(page, initPageSize)
page++;
}
});
返回页面顶部
$('.footer .top').click(function() { //根据a标签的href转换为id选择器,获取id元素所处的位置,并高度减50px(这里根据需要自由设置)
//$('html,body').animate({scrollTop: ($($(this).attr('href')).offset().top -50 )},1000); }); //返回到指定位置
//$('html,body').animate({scrollTop:0},500);// 返回顶部
});
获取元素内文本信息(不包含其他子元素内部文本信息)
$('.el').contents().filter(function () { return this.nodeType == 3; })[0].nodeValue;
过滤字符串中HTML标签、空格字符
function filterHTMLTag(msg) {
var msg = msg.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag
msg = msg.replace(/\s+/g, '') //去除空格
msg = msg.replace(/&npsp;/ig, ''); //去掉npsp
return msg;
}
var str = '<li><span style="color: rgb(17, 31, 44); font-size: 14px;">123456 333dasf a<b>234324<u>2344<i>4234324234234asdsasd</i></u></b></span><br></li>';
filterHTMLTag(str);
js数组合并并去重
var a = [1, 2, 3], b = [101, 2, 1, 10];
var c = a.concat(b.filter(function (item) {
return a.indexOf(item) < 0;
}));
console.log(c); // [1, 2, 3, 101, 10]
复制文本到剪贴板
const copyToClipboard = content => {
const clipboardData = window.clipboardData;
if (clipboardData) {
clipboardData.clearData();
clipboardData.setData('Text', content);
return true;
} else if (document.execCommand) {
const el = document.createElement('textarea');
el.value = content;
el.setAttribute('readonly', '');
el.style.position = 'absolute';
el.style.left = '-9999px';
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
return true;
}
return false;
};
copyToClipboard('hello world');
一键给网页上边框
[].forEach.call($$('*'), function (a) {
a.style.outline = '1px solid #' + (~~(Math.random() * (1 << 24))).toString(16);
});
base64转excel文件
// base64转为excel
function downloadBase64(base64Data, fileName) {
const mime = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
const linkSource = `data:${mime};base64,${base64Data}`;
// 组装base64
const downloadLink = document.createElement('a');
downloadLink.href = linkSource;
downloadLink.download = fileName || 'demo';
downloadLink.click();
}