js日常笔记
写在前面:
在工作中,有时候会遇到一些零零碎碎的小知识点,虽然这些网上都可以查询到,但还是想把一些自己不是很熟悉的当做笔记记录下来,方便以后查询。
1.按钮隐藏/显示/可用/不可用
$("#nextBtn").css("display","inline");//按钮显示
$("#nextBtn").css("display","none");//按钮隐藏
$("#nextBtn").attr("disabled",false);//按钮可用
$("#nextBtn").attr("disabled",true);//按钮不可用 var btnCss = $("#nextBtn").attr("disabled");//获取按钮某个属性值
2.
弹出确认框,点击确定,执行logout,取消则不执行
<a href="logout" onclick="return confirm('确定要退出登录吗?');">
退出
</a>
3.
js中获取java变量值
<script type="text/javascript"> var errorMsg = '<%=request.getParameter("errorMsg")%>';
if(errorMsg == "null"){
//当没有传递erroeMsg时执行
...
}else{
...
} </script>
对于为什么要用=="null",来判断errorMsg不存在,因为是加了'<%=request.getParameter("errorMsg")%>',单引号,才可以使用,如果不加,则报错。故这里为null用字符串的形式来判断。
4.
下拉框select某一选项设置为不可选:
方法1:
<select>
<option value="1" >1</option>
<optgroup label="不可选" style=""></optgroup>
<option value="2">2</option>
<option value="3">3</option>
</select>
方法2:
var selectedTo = document.getElementById("dDateTo");
var ops = selectedFrom.options;
//将索引为1的选项禁用掉,option变为不可选
ops[1].disabled = "false";
5.
window.opener.location.href="/dailyreport/dailyRecordMaintain.jsp?time="+new Date().getTime()+"&oldDate="+pickedDate;
父窗口带参数刷新
6.
遍历select下拉框,进行选项默认选中
var selectedFrom = document.getElementById("dDateFrom");
var ops1 = selectedFrom.options;
for(var i=0;i<ops.length;i++){
var temp1 = ops[i].value;
if(WorkT == temp1){
ops[i].selected = "selected";
break;
}
}
7.调用js函数带参数传递,一定要注意如果传递的参数是非数字的,即是字符串的,一定要加上引号 再传递,此种在拼接组件的时候要注意下
'<button id="start" onclick="startClick(\''+row.projWorkItemAssId+'\','+row.projId+','+row.workItemId+')" value="start">Start</button>',
黄色背景部分\'表的是一个单引号
8.下拉框默认显示提示语,且不出现在option选项中
var headOpt = "<option value='' disabled selected hidden>---选择---</option>";
$("#bUnit3").append(headOpt);
9.通过div的多个样式去查找元素
$("div[class='pull-left pagination-detail']").empty();
10.jsp页面常用获取项目路径
<%
String scheme = request.getScheme();
String serverName = request.getServerName();
String contextPath = request.getContextPath();
int port = request.getServerPort(); //网站的访问跟路径
String baseURL = scheme + "://" + serverName + ":" + port
+ contextPath;
request.setAttribute("baseURL", baseURL);
%>
在js中使用直接使用el表达式调用${baseURL}
11.js中使用数组添加元素
var sortArr = new Array();
sortArr.push("aa");
12.table不换行设置
<table id="tableOne" class="text-nowrap">
</table>
13.input输入框变成下划线的样式
/*輸入框變下劃線*/
.timeInput{
border-bottom: 1px solid #dbdbdb;
border-top:0px;
border-left:0px;
border-right:0px;
width: 10px;
}
14.css将input输入框变成下划线
border-color: #878787;
border-style: solid;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 1px;
border-left-width: 0px"
15.js中将json数组字符串转为对象
var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] "; var myobj=eval(t2); for(var i=0;i<myobj.length;i++){ alert(myobj[i].name); alert(myobj[i].age); }
16.下拉框初始化常用(两种方式都可以)
$("#sel_division").empty();
var headOpt = "<option value='-1' selected >-----------請選擇-----------</option>";
$("#sel_division").append(headOpt);
$("#sel_division").find("option:not(:first)").remove();
17.图片铺满div,并解决ie8使用cover不生效
.navbar-default{
/*让图片铺满*/
width: 100vw;
height: 80px;
background-image: url('${baseURL}/pic/header_2.png');
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
/*解决ie8使用background-size:cover不生效*/
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=Enabled, sizingMethod=scale , src='${baseURL}/pic/header_2.png'); }
18.常用div适应屏幕大小css设置
<!DOCTYPE html> html,body{
margin:0;
padding:0;
width: 100%;
height:100%;
} div{
/*让div与body高度一致*/
width:100%;
height:100%;
/*border:1px solid red;*/
overflow:hidden;
margin:0 auto; }
19.
<!DOCTYPE html>
20.iframe框架中子页面获取父页面iframe的高度
通过方法的形式来调用,在父页面写一个方法获取高度,然后在子页面使用方法调用
父页面:
<div id="myDiv" class="page-content" style="">
<iframe id="iframe_0" src="${baseURL}/Views/BasePages/engineer.jsp" width="100%" height="100%" onload="changeFrameHeight(this)" scrolling="yes" frameborder="no" border="0" marginwidth="0" marginheight="0" allowtransparency="yes">
<%--changeFrameHeight(this)--%>
</iframe>
</div> <script type="text/javascript"> var changeFrameHeight = function (that) {
$(that).height(document.documentElement.clientHeight - 120);
//console.log(document.documentElement.clientHeight - 120)
} //获取iframe的高度
function getFrameHeight(){
return (document.documentElement.clientHeight - 120);
} </script>
子页面:engineer.jsp
//获取iframe的高度
var frameH = parent.getFrameHeight();
父页面调用子页面的方法,在子页面写好save_btn()方法即可
$('#projectOwnerFrame')[0].contentWindow.save_btn();
21.序列化表单
var p = serializeForm($("#header_form2")) || {};
//序列化表单
function serializeForm(form){
var obj = {};
$.each(form.serializeArray(),function(index){
if(obj[this['name']]){
obj[this['name']] = obj[this['name']] + ','+this['value'];
} else {
obj[this['name']] =this['value'];
}
});
return obj;
}
js日常笔记的更多相关文章
- Js日常笔记之变量删除
在Javascript是可以使用delete来手动删除变量,通过这样的方法让GC来回收内存,但在JS中并不是所有的对象都可以被删除的 JS中通过 var\function 声明因含有DontDelet ...
- Js日常笔记之数组
1.Array构造函数有一个很大的问题,就是不同的参数,会导致它的行为不一致,es6好像专门为此对数组有升级 因此,不建议使用new Array生成新数组,直接使用数组字面量[...]是更好的做法. ...
- Js日常笔记之this
在javascript中自己创建构造函数时可以利用this来指向新创建的对象上.这样就可以避免函数中的this指向全局了,如下 var x = 2; function test(){ this.x = ...
- JS面向对象笔记二
菜单导航,<JS面向对象笔记一>, 参考书籍:阮一峰之<JavaScript标准参考教程> 一.构造函数和new命令 二.this关键字 三.构造函数和new命令 四.构造函 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- .Net 转战 Android 4.4 日常笔记目录
.Net 转战 Android 4.4 日常笔记(1)--工具及环境搭建 .Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序 .Net 转战 Android 4.4 ...
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
随机推荐
- 系统编程--标准IO
1.流和FILE对象 对于国际字符集,一个字符可以由一个以上的字节来表示.标准I/O文件流可以用来操作单字节和多字节(宽,wide)字符集.一个流的方向(orientation)决定了字符是以单字节还 ...
- JSP/Servlet Web 学习笔记 DayFive
ServletConfig <只对当前Servlet有效> (1)在Web容器初始化Servlet实例时,都会为这个Servlet准备一个唯一的ServletConfig实例(俗称Serv ...
- ArcGIS 创建要素时提示“表已经被注册(table already registered)”
今天一位实施大哥在ArcCatalog中要重建一个要素类,所以就在ArcCatalog中连接上Oracle数据库,直接删除了要素类,然后重新创建了一个新的要素类,可是却报错“表已经被创建”,并提示不可 ...
- nf_register_hooks解读
nf_register_hooks是什么 net->netns_nf->nf_hook_entry[NFPROTO_NUMPROTO][NF_MAX_HOOKS=8] (nf) ...
- weex 开发 (已放弃了)
关于weex 开发 本菜已放弃使用了,当初选择使用weex 是为了同时支持h5 和 android / ios 三端:想法很不错,深入之后 突然发现,开发起来并没有很轻松,因为weex 中有些方法, ...
- Ubuntu扩展系统盘容量,虚拟机下
安装gparted软件 sudo apt-get install gparted 接下来, 我们开始用Gparted软件扩展Ubuntu目录的容量: 先看操作步骤: 1. 先从windows的 ntf ...
- POJ 3090 Visible Lattice Points | 其实是欧拉函数
题目: 给一个n,n的网格,点可以遮挡视线,问从0,0看能看到多少点 题解: 根据对称性,我们可以把网格按y=x为对称轴划分成两半,求一半的就可以了,可以想到的是应该每种斜率只能看到一个点 因为斜率表 ...
- POJ 2406 Power Strings 暴力
emmmm 显然的是a串长度是s串长度的因数 我们可以暴力枚举因数然后暴力check #include<cstdio> #include<algorithm> #include ...
- 洛谷 P2312 解方程 解题报告
P2312 解方程 题目描述 已知多项式方程: \(a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\)求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整 ...
- eclipse快捷键及各种设置
1.提示键配置一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项 ...