引入最新jq :
目录
1. 图片回显
2. 获取字符串长度及截取
3. 获取input标签的value值
4. 表单提交校验(不能阻止表单提交,就算return false也会提交表单)
5. 刷新当前页面
6. 链接新标签也打开
7. 小手样式
8. 图片无法正常显示时显示另一种图片
9. 点击跳转
10. 时间处理
11. 复选框
默认选中
获取所有选中的复选框的value值
12. div
替换div的内容
div追加内容
13. 删除确认
第一种方法:挺好用的,确认以后才能打开下载地址页面。原理也比较清晰。主要用于删除单条信息确认。
第二种方法:原理跟上面的一样。
第三种:主要用于批量删除的确认提示
14. 图片上传设置只能选择图片, 添加 accept="image/*" 属性,点击选择文件时非图片不能选
15. js手机号码11位开头为1校验
16. 使按钮不可用和可用
17. 使隐藏及显示
18. 根据class获取按钮名称
19. 限制显示行数,超出部分成省略号
20. ajax
21. select 下拉框
如何获得select被选中option的value和text
设置默认选中
22. 定时事件
执行一次
重复执行1
重复执行2
23. onclick跳转
24. js提交表单
25. 倒计时
26. 视频标签
27. 判断数组是否包含一个值
28. 获取n到m直接的随机数
29. 替换页面中的图片路径
30. 解析json
31. 遍历
32. 时间格式化
33. 切割字符串
34. 动态添加html绑定事件写法
35. 返回顶部
36. 保留n位小数
37. 判断div是否存在
38. 字符串
39. 根据类名或者name获取所有的input或者textarea的value值,参考:js根据name获取所有的值_TOP__ONE的博客-CSDN博客_js 根据name取值
40. 判断input的type=file是否选择了图片
41.点击弹出提示框
42.按钮点击跳转
43.失去焦点给另一个标签赋值
44.禁止输入与允许输入
45.获取按钮的文字
46.设置span的值
47.判定不等于undefined
48.根据id添加删除class
html :
js :
function changImg(e) {
for(var i = 0; i < e.target.files.length; i++) {
var file = e.target.files.item(i);
// 文件大小
var len = e.target.files[i].size;
if(!(/^image\/.*$/i.test(file.type))) {
continue; //不是图片 就跳出这一次循环
}
//实例化FileReader API
var freader = new FileReader();
freader.readAsDataURL(file);
freader.onload = function(e) {
$("#myImg").attr("src", e.target.result);
}
}
}
清空file标签选择的文件,参考:JavaScript将input file的选择的文件清空的两种解决方案_曾燕辉的博客-CSDN博客
var obj = document.getElementById(id);
obj.outerHTML = obj.outerHTML;
var len = str.replace(/[\u0391-\uFFE5]/g, "aa").length;
var i1 = str.substring(0, 1);
var a=myform.name.value;
var a=document.getElementById("nn").value;
var contacts = $('input[name="modName"]').val();
注: myform是表单的id;
html:
js:
function check(form) {
if (form.name.value == '') {
alert("请输入用户帐号!");
form.name.focus();
return false;
}
if (form.phone.value == '') {
alert("请输入登录密码!");
form.phone.focus();
return false;
}
return true;
}
location.replace(location.href);
参考 : js刷新页面的几种方式与区别 - 郭磊—lily - 博客园
target="_blank"
style="cursor:pointer;"
onerror="javascript:this.src='${pageContext.request.contextPath}/assets/customer.png'"
onclick="javascript:window.open('www.baidu.com');"
onclick="javascript:window.location.href='www.baidu.com';"
【1】获取毫秒值
var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数 ==> 1356437471000
//不是上面格式的时间需要转换, 如下
starttime ='2012-12-25 20:17:24';
starttime = starttime.replace(new RegExp("-","gm"),"/");
var starttimeHaoMiao = (new Date(starttime)).getTime(); //得到毫秒数 ==> 1356437844000
// 获取当前时间毫秒值
var currentTime = (new Date()).getTime();
【2】毫秒数转化为时间
var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数
var newTime = new Date(oldTime); //就得到普通的时间了 ==> Mon Feb 05 2018 10:53:06 GMT+0800 (中国标准时间)
【3】日期格式化
var ftTime = crtTimeFtt(1356437844000); // ==> 2012-12-25 20:17:24
//创建时间格式化显示
function crtTimeFtt(value){
var crtTime = new Date(value);
return top.dateFtt("yyyy-MM-dd hh:mm:ss",crtTime);//转化成需要的格式
}
function dateFtt(fmt,date)
{ //author: meizz
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.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;
}
【4】时间加减
参考 : js 中处理时间相加减问题 - 菜小鱼~ - 博客园
// 字符串转时间
var dataCur = new Date("2021-06-30 00:00:00");
console.log(timeAddDay(dataCur, 2)) // 2021-07-02 00:00:00
/**
* 时间加减天数
* @param {Date} date
* @param {int} dayCount
*/
function timeAddDay(date, dayCount) {
dataCur = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00";
var dataCurPar = Date.parse(new Date(dataCur)) / 1000;
dataCurPar += 86400 * dayCount;
return getFullTime(new Date(parseInt(dataCurPar) * 1000));
}
/**
* 时间转日期
* @param {Date} date
* @return {String} 2021-07-02 00:00:00
*/
function getFullTime(date) {
Y = date.getFullYear() + '-',
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-',
D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ',
h = (date.getHours() < 10 ? '0' + (date.getHours()) : date.getHours()) + ':',
m = (date.getMinutes() < 10 ? '0' + (date.getMinutes()) : date.getMinutes()) + ':',
s = (date.getSeconds() < 10 ? '0' + (date.getSeconds()) : date.getSeconds());
return Y + M + D + h + m + s
}
$("input[name='ck']:checkbox:checked").each(function() {
console.log( $(this).val()) ;
})
注: 获取所有name值为ck的input框的value值
var divA = document.getElementById("id");
divA.innerHTML = "要添加的内容";
var divA = document.getElementById("id");
divA.innerHTML = divA.innerHTML+"要添加的内容";
或者
$("id").append("要添加的内容")
调用方法:
删 除
删除
下面是别的网友整理的,大同小异。一般通过弹出确认按钮来判断是否继续进入下面的删除页面。
第一种:
删除
第二种:
//调用
" onclick="javascript:del_sure()">删除
第三种:
删除
var jmz = {};
jmz.GetLength = function(str) {
return str.replace(/[\u0391-\uFFE5]/g, "aa").length; //先把中文替换成两个字节的英文,在计算长度
};
var len = jmz.GetLength(myPhone);
var i1 = myPhone.substring(0, 1);
if(len == 11 && i1 == '1'){
}else{
return ;
}
不可用:
$('.t-get').attr('disabled',"true");
可用:
$('.t-get').removeAttr("disabled");
隐藏:
$('.set-new-btn').attr('disabled',"true");
显示:
$('.set-new-btn').removeAttr("disabled");
或者
$(".company_img").show();
$(".company_img").hide();
http://bbs.csdn.net/topics/390452236
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
-webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
-webkit-line-clamp: 3; /** 显示的行数 **/
overflow: hidden; /** 隐藏超出的内容 **/
style="word-break: break-all;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;"
$.ajax({
url : '/getImageBase',
type : 'post',
data : {
"url" : url
},
success : function(data) {
}
});
上面的是异步请求,同步请求得添加属性 async: false, 如下 :
$.ajax({
url : '/getImageBase',
type : 'post',
async: false,
data : {
"url" : url
},
success : function(data) {
}
});
注: ajax分为同步和异步。一般使用异步,异步不会使页面阻塞,用户体验较好。但是异步会使编写js程序的复杂度提高(异步ajax中的代码和ajax外的代码执行顺序无法确定),对新手来说很可能由于玩不转异步导致各种bug。
同步代码的缺点是 : 等待ajax请求响应之前,页面会卡住,用户什么都做不了,感受很不好,就像浏览器崩溃或者死机似的。所以同步ajax代码不适合应用到正式产品中。
一:JavaScript原生的方法
1:拿到select对象: var myselect=document.getElementById(“test”);
2:拿到选中项的索引:var index=myselect.selectedIndex ; // selectedIndex代表的是你所选中项的index
3:拿到选中项options的value: myselect.options[index].value;
4:拿到选中项options的text: myselect.options[index].text;
二:jQuery方法(前提是已经加载了jquery库)
1:var options=$(“#test option:selected”); //获取选中的项
2:alert(options.val()); //拿到选中项的值
3:alert(options.text()); //拿到选中项的文本
// 设置默认值
function f(s, v) {
m = $(s);
for(i = 0; i <= m.options.length; i++) {
if((m.options[i].value) == (v)) {
m.options[i].selected = true;
break;
}
}
}
// 获取对象
function $(id) {
return document.getElementById(id);
}
s是select的id,v是下拉选项的value;
//使用方法名字执行方法 setTimeout只执行一次
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法
window.clearTimeout(t1);//去掉定时器
function hello(){
alert("hello");
}
//重复执行某个方法 setInterval重复执行
var t1 = window.setInterval(hello,1000);
var t2 = window.setInterval("hello()",3000);
//去掉定时器的方法
window.clearInterval(t1);
setInterval(function() {
hello();
}, 1000);
①οnclick="javascript:window.location.href='URL'"
②οnclick="location='URL'"
③οnclick="window.location.href='URL?id=11'"
参考: 使用onclick跳转到其他页面/跳转到指定url - 冬雨在路上 - 博客园
document.getElementById("myForm").submit();
注: 不能有name或者id的值为"submit",否则会找不到函数;
JS倒计时两种种实现方式 - 黑仔002 - 博客园
注: controls="controls" 是显示控件;
function isInArray(arr,value){
for(var i = 0; i < arr.length; i++){
if(value === arr[i]){
return true;
}
}
return false;
}
注: 存在返回true,不存在返回false;
function randomNum(n, m) {
switch (arguments.length) {
case 1:
return parseInt(Math.random() * minNum + 1, 10);
break;
case 2:
return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
break;
default:
return 0;
break;
}
}
注: n和m有出现的几率;
//一段正则,匹配所有_min.的图片src属性
var test = /-min\./;
//遍历所有的图片节点
$("img").each(function(index, obj) {
if (test.test($(this).attr("src"))) {
var reSrc = $(this).attr("src").replace(test, ".");
$(this).attr("src", reSrc)
}
})
说明: 获取所有img的src包含 "-min"的对象,然后把"-min"去掉;
js读取解析JSON数据 - jtlgb - 博客园
http://www.jb51.net/article/45883.htm
js中的那些遍历 - 波先生 - 博客园
js 中时间格式化的几种方法 - Mr_伍先生 - 博客园
http://www.jb51.net/article/41507.htm
$(document).on('click', '.informations_b', function() {
})
这是动态添加html代码里的绑定click事件
$('body,html').animate({
"scrollTop": 0
}, 500)
Math.formatFloat = function (f,n) {
// f: 需要处理的数
// n: 保留小数位数
var m = Math.pow(10, n);
return Math.round(f * m, 10) / m;
}
if($('.lookimg').length){
console.log("类名为lookimg的标签存在!");
}else{
console.log("类名为lookimg的标签不存在!");
}
判断字符串是否为空或者全部都是空格,参考:https://www.jb51.net/article/86543.htm
function isNull(str){
if ( str == "" ) return true;
var regu = "^[ ]+$";
var re = new RegExp(regu);
return re.test(str);
}
function te(){
$("[name=a]").each(function () {
alert($(this).val());
});
}
function te(){
$(".class").each(function () {
alert($(this).val());
});
}
$('#id').val().length
如果=0,说明没有选择文件
[删除]
参考 : 【web】a标签点击时跳出确认框_michael_ouyang的博客-CSDN博客_a标签打开跳转弹出一个框
注 : 上面的会打开新标签页,下面的不会
onclick="window.location='http://www.baidu.com'"
参考 : js点击button按钮跳转到页面代码 - 山涧清泉 - 博客园
$("#pass").blur(function() {
var password = hex_md5($('input[name="passw"]').val())
var psel = document.getElementById("pass2");
psel.value =password;
});
参考 : HTML中如何使用JS将input输入框设置为禁止输入或者可输入_kingsonzhang的博客-CSDN博客_js 禁用input
参考 : js获取按钮的文字_longyinfengwu的博客-CSDN博客_js获取button的文本
$("#spId").text("testSpan");
参考 : https://blog.csdn.net/xiaobing_122613/article/details/78590157
JS 中判断空值 undefined 和 null - Rainyn - 博客园
var exp = undefined;
if (typeof(exp) == "undefined")
{
alert("undefined");
}
参考 : 原生js实现添加和删除class_Ponnenult的博客-CSDN博客_js删除class
document.getElementById('show_one').style.display = 'block'
document.getElementById('show_two').style.display = 'none'
document.getElementById('click_one').classList.add("active")
document.getElementById('click_two').classList.remove("active")
JavaScript如何创建随机整数-js教程-PHP中文网
// min最小值,max最大值
// 0,5 => 输出0到4之间的整数
function randomRange(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}