js常用代码

动态加载数据绑定事件(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();
}