JS,JQuery杂谈
JS返回页面:
JS返回前一个页面,经常看到有人用window.history.go(-1)这种方法 这种放的确可以返回,也仅仅只是返回,返回的页面信息却没有刷新。也有人用windows.history.back(),但是经常返回的时候会丢失页面,最近写一个返回上上个页面但是信息会改变的按钮,于是想到了结合window.history.go(-1)实现,用window.location.href=window.history.go(-2).toString()
JQuery 模糊匹配:
[属性名称] 匹配包含给定属性的元素
[att=value] 匹配包含给定属性的元素 (大小写区分)
[att*=value] 模糊匹配
[att!=value] 不能是这个值
[att$=value] 结尾是这个值
[att^=value] 开头是这个值
[att1][att2][att3]... 匹配多个属性条件中的一个
示例:
HTML代码:
<div id="father1" class="father" onclick="toggle('child1','father1')">
<div class="fathers">家人</div>
</div>
<div id="child1" class="child">
<ul><li>家人</li></ul>
</div>
JQUERY代码(修改div的id中以'child'开头的层的display属性为none):
$().ready(function () {
$("div[id^=child]").css("display", "none");
})
JS关于日期比较和获取: var myDate = new Date(Date.parse("1991,11,11"));//将字符串转换成日期函数
var year=new Date().getFullYear();//获取当前时间的年份
var month=new Date().getMonth() + 1;//获取当前时间的月份,注意+1,getmonth月份计算是以0开始的,所以在获取时需要+1
var day=new Date().getDate();//获取当前时间的日期
var datenow = new Date(Date.parse( new Date().getFullYear()+ "," + (new Date().getMonth() + 1) + "," + new Date().getDate()));//转换日期格式
在用JS进行日期比较的时候可以直接date()>new Date(Date.parse("1991,11,11"))或者以date()>myDate 这种形式进行比较
如果当前时间相对于比较的时间晚 则在比较的时候是当前时间要小于进行比较的时间
parseInt(Math.abs(EndTime- StrTime) / 1000 / 60 / 60 /24);//计算两个日期直接相差的天数。
parseInt(Math.ceil(Math.abs(endDate - strDate) / 1000 / 60 / 60 / 24))/7;//使用进一除法计算周
var getmon = (endDate.getFullYear() - strDate.getFullYear()) * 12 + endDate.getMonth() - strDate.getMonth();
if (endDate.getDate() >= strDate.getDate()) {
alert(getmon + 1);
}
else {
alert(getmon);
}///计算开始时间与结束时间相差多少个月 JS在table标签的指定位置插入一行数据
function InsertProduct() {
var tb = document.getElementById("productTable"); //获取表格标签
var refRow = tb.rows.length - 1; //table中现有的行数减一
var newRefRow = tb.insertRow(refRow);
newRefRow.insertCell(0).innerHTML = "<input type=\"checkbox\" />";
newRefRow.insertCell(1).innerHTML = document.getElementById("t_name").value;
newRefRow.insertCell(2).innerHTML = document.getElementById("t_dw").value;
newRefRow.insertCell(3).innerHTML = document.getElementById("t_gkj").value;
newRefRow.insertCell(4).innerHTML = document.getElementById("t_sl").value;
newRefRow.insertCell(5).innerHTML = document.getElementById("t_zk").value;
newRefRow.insertCell(6).innerHTML = document.getElementById("t_zhj").value;
newRefRow.insertCell(7).innerHTML = document.getElementById("t_xj").value;
}
js在table中添加合并单元格
var cell = document.createElement("TD"); //声明一个td
cell.setAttribute('colSpan', 2); //单元格数量
cell.setAttribute('id', "ccoll"); //合并后的单元格id
cell.innerHTML = "合并的单元格"; //单元格里面的内容
newRefRow.appendChild(cell); //将单元格加入到表格行的结尾处
JS计算日期
//日期减去天数后得到新的日期
function cc(dd, dadd) {
var a = new Date(dd)
a = a.valueOf()
a = a - dadd * 24 * 60 * 60 * 1000
a = new Date(a)
alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
}
cc("2/28/2002",1);
var a = document.getElementByIdx_x_x("dom");
var b = a.childNodes;获取a的全部子节点;
var c = a.parentNode;获取a的父节点;
var d = a.nextSbiling;获取a的下一个兄弟节点
var e = a.previousSbiling;获取a的上一个兄弟节点
var f = a.firstChild;获取a的第一个子节点
var g = a.lastChild;获取a的最后一个子节点
jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class")
jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素
jQuery.children(expr).返回所有子节点,这个方法只会返回直接的孩子节点,不会返回所有的子孙节点
jQuery.contents(),返回下面的所有内容,包括节点和文本。这个方法和children()的区别就在于,包括空白文本,也会被作为一个
jQuery对象返回,children()则只会返回节点
jQuery.prev(),返回上一个兄弟节点,不是所有的兄弟节点
jQuery.prevAll(),返回所有之前的兄弟节点
jQuery.next(),返回下一个兄弟节点,不是所有的兄弟节点
jQuery.nextAll(),返回所有之后的兄弟节点
jQuery.siblings(),返回兄弟姐妹节点,不分前后
jQuery.find(expr),跟jQuery.filter(expr)完全不一样。jQuery.filter()是从初始的jQuery对象集合中筛选出一部分,而jQuery.find()
的返回结果,不会有初始集合中的内容,比如$("p"),find("span"),是从
p元素开始找,等同于$("p span")
js获取节点操作
|
接口 |
nodeType常量 |
nodeType值 |
备注 |
|
Element |
Node.ELEMENT_NODE |
1 |
元素节点 |
|
Text |
Node.TEXT_NODE |
3 |
文本节点 |
|
Document |
Node.DOCUMENT_NODE |
9 |
document |
|
Comment |
Node.COMMENT_NODE |
8 |
注释的文本 |
|
DocumentFragment |
Node.DOCUMENT_FRAGMENT_NODE |
11 |
document片断 |
|
Attr |
Node.ATTRIBUTE_NODE |
2 |
节点属性 |
|
方法 |
描述 |
|
createAttribute() |
用指定的名字创建新的Attr节点。 |
|
createComment() |
用指定的字符串创建新的Comment节点。 |
|
createElement() |
用指定的标记名创建新的Element节点。 |
|
createTextNode() |
用指定的文本创建新的TextNode节点。 |
|
getElementById() |
返回文档中具有指定id属性的Element节点。 |
|
getElementsByTagName() |
返回文档中具有指定标记名的所有Element节点。 |
|
属性 |
描述 |
|
attributes |
如果该节点是一个Element,则以NamedNodeMap形式返回该元素的属性。 |
|
childNodes |
以Node[]的形式存放当前节点的子节点。如果没有子节点,则返回空数组。 |
|
firstChild |
以Node的形式返回当前节点的第一个子节点。如果没有子节点,则为null。 |
|
lastChild |
以Node的形式返回当前节点的最后一个子节点。如果没有子节点,则为null。 |
|
nextSibling |
以Node的形式返回当前节点的兄弟下一个节点。如果没有这样的节点,则返回null。下一个兄弟节点 |
|
nodeName |
节点的名字,Element节点则代表Element的标记名称。 |
|
nodeType |
代表节点的类型。 |
|
parentNode |
以Node的形式返回当前节点的父节点。如果没有父节点,则为null。 |
|
previousSibling |
以Node的形式返回紧挨当前节点、位于它之前的兄弟节点。如果没有这样的节点,则返回null。上一个兄弟节点 |
|
方法 |
描述 |
|
appendChild() |
通过把一个节点增加到当前节点的childNodes[]组,给文档树增加节点。 |
|
cloneNode() |
复制当前节点,或者复制当前节点以及它的所有子孙节点。 |
|
hasChildNodes() |
如果当前节点拥有子节点,则将返回true。 |
|
insertBefore() |
给文档树插入一个节点,位置在当前节点的指定子节点之前。如果该节点已经存在,则删除之再插入到它的位置。 |
|
removeChild() |
从文档树中删除并返回指定的子节点。 |
|
replaceChild() |
从文档树中删除并返回指定的子节点,用另一个节点替换它。 |
JS,JQuery杂谈的更多相关文章
- js,jquery,css,html5特效
包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- js/jquery/html前端开发常用到代码片段
1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...
- js jquery 页面加载初始化方法
js jquery 页面加载初始化方法 一.js页面加载初始化方法 // 1.在body里面写初始化方法. <body onload='init()'> </body> < ...
- js jquery 选择器总结
js jquery 选择器总结 一.原始JS选择器. id选择器:document.getElementById("test"); name选择器:document.getElem ...
- [JS]jQuery,javascript获得网页的高度和宽度
[JS]jQuery,javascript获得网页的高度和宽度网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeigh ...
- spring访问静态资源出错,No mapping found for HTTP request with URI xxx/resources/js/jquery.min.js...
问题:spring访问静态资源出错,No mapping found for HTTP request with URI xxx/resources/js/jquery.min.js... web.x ...
- js jquery中 的数据类型
任何一门语言, buguan 是动态的, 还是像C语言的, 都有严格的 类型 "概念的", 这个是由于 编译器和解释器要求的, 需要的. 所以在是使用像 js, jquey ,ph ...
- paip.提升效率--数据绑定到table原理和流程Angular js jquery实现
paip.提升效率--数据绑定到table原理和流程Angular js jquery实现 html #--keyword 1 #---原理和流程 1 #----jq实现的代码 1 #-----An ...
随机推荐
- Katu Puzzle
poj3678:http://poj.org/problem?id=3678 题意:给你一些数,然后这些要么是0要么是1,然后回给出一些数之间的and,or,xor的值,问你是否存在一组解. 题解:2 ...
- 去大公司还是去小公司工作——要进大公司的核心部门(提升视野,锻炼技能),远离没真本事的小公司,要自我驱动 good
去大公司还是小公司工作?这个问题问大多数 IT 人都会选择前者.如果换一个问法,去大公司还是去初创公司(Startup)工作?或许有极小一部分人能改变一下决定 对于 IT 人来说,选择到大公司工作的理 ...
- lc面试准备:Power of Two
1 题目 Given an integer, write a function to determine if it is a power of two. 接口 boolean isPowerOfTw ...
- hdu 2289 Cup (二分法)
http://acm.hdu.edu.cn/showproblem.php?pid=2289 二分法解题. 这个题很恶心...一开始测试样例都不能过,这个π一开始取3.1415926结果是99.999 ...
- GPL,LGPL和BSD等协议注意事项
使用开源软件必须注意GPL,LGPL和BSD等协议 简而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协议 ...
- (转)ASP.NET MVC路由配置
一.命名参数规范+匿名对象 1 routes.MapRoute(name: "Default", 2 url: "{controller}/{action}/{id}&q ...
- unity3d Hair real time rendering 真实头发实时渲染
先放上效果 惊现塞拉酱 算法是Weta Digital根据siggraph2003的论文加以改进,改进之前使用的是Kajiya and Kay’s 模型,它能量不守恒,也就是说不是基于物理的,不准确 ...
- godaddy.com 注册域名 买卖域名
https://www.godaddy.com/domains/searchresults.aspx?ci=83269&checkAvail=1&domainToCheck=ses.x ...
- iOS设备隐藏StateBar
//隐藏StateBar - (BOOL)prefersStatusBarHidden { returnYES; }
- JavaScript 概览 更新时间2014-0414-0837
一些概念 DOM(文档对象模型)是HTML和XML的应用程序接口(API).DOM Level1规划文档结构:DOM Level2扩展了对鼠标和用户界面事件等的支持:DOM Level3支持了XML1 ...