js日常小笔记
来源:互联网 发布:降龙九九软件安装 编辑:程序博客网 时间:2024/04/29 19:19
一、getElementsByClassName
h5中新增的方法,但是只有较新的浏览器才支持它,现在使用DOM方法来实现,能适用于新老浏览器
function getElementsByClassName(node,classname) { if(node.getElementsByClassName) { //使用现有方法 return node.getElementsByClassName(classname); }else{ var results=new Array(); var elems=node.getElementsByTagName("*"); for(var i=0;i<elems.length;i++){ if(elems[i].className.indexOf(classname)!=-1) { results[results.length]=elems[i]; } } return results; } }
二、给链接a添加点击事件
在onclick事件处理函数中返回false,可以防止用户被带到目标链接窗口
<a href="http://www.baidu.com" onclick="showPic(this);return false;">Click me</a><a href="javascript:showPic(this);return false;">Click me</a>
三、childNodes属性
childNodes属性可以用来获取任何一个元素的所有的子元素,包含所有类型的节点,而不仅仅是元素节点,甚至连空格和换行符都会被解释为节点,最常见的的有元素节点(nodeType为1),属性节点(nodeType为2),文本节点(nodeType为3)
四、nodeValue属性的应用
<p id="p1">this is text</p> //获取p元素的文本内容 var pid=document.getElementById("p1"); alert(pid.childNodes[0].nodeValue); alert(pid.firstChild.nodeValue);)//设置p元素的文本内容pid.firstChild.nodeValue=text;
五、给多选框添加全选和取消全选
//网上查阅资料知:jQuery1.9.1针对checkbox的调整方法,用prop代替attr。在jquery 1.8.x中的版本,对于checkbox的选中与不选中操作如下:
1.判断是否选中:$('#checkbox').prop('checked')
2.设置选中与不选中状态:$('#checkbox').attr('checked',true)$('#checkbox').attr('checked',false)
但此方法在jquery1.9.1中,有些处理不一样,同事执行正常的使用的正好是1.8版本,本人使用的是1.11版本。
<script src="js/jquery-1.11.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $("#checkAll").click(function() { $('input[name="subBox"]').prop("checked",this.checked); }); var $subBox = $("input[name='subBox']"); $subBox.click(function(){ $("#checkAll").prop("checked",$subBox.length == $("input[name='subBox']:checked").length ? true : false); }); }); </script> </head> <body> <div> <input id="checkAll" type="checkbox" />全选 <input name="subBox" type="checkbox" />项1 <input name="subBox" type="checkbox" />项2 <input name="subBox" type="checkbox" />项3 <input name="subBox" type="checkbox" />项4 </div>
六、当前日期与无效日期对比
<script> $(document).ready(function() { var d = new Date; var yy=d.getFullYear() if(yy<1900) yy = yy+1900; var MM=d.getMonth()+1; if(MM<10) MM = '0' + MM; var dd =d.getDate(); if(dd<10) dd = '0' + dd; var hh =d.getHours(); if(hh<10) hh = '0' + hh; var mm =d.getMinutes(); if(mm<10) mm = '0' + mm; var ss = d.getSeconds(); if(ss<10) ss = '0' + ss; var ww = d.getDay(); var Otoday =yy+"-"+MM+"-"+dd+" "+hh+":"+mm+":"+ss; $(".tabggl tr").each(function(){ var content=$(this).find(".pdate").html(); if(content == null || content.length == 0) {$(this).css("display","none");} else{ var today =Otoday.replace(/-/g,"/"); var temp=$(this).find(".pdate").text().replace(/-/g,"/"); if (temp>today) { $(this).css("display","block"); } } })}); </script>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tabggl"> <!--列表处理 begin--> <tbody> <CMSPRO_DOCUMENTS DOCUMENTTYPE="0|1|2|3" NUM="15" STARTPOS="0" PAGESIZE="0" CHANNELCODE="tgl"> <tr style="display:none;"> <td class="row-py-02-titlelist-02"> <span><CMSPRO_DOCUMENT FIELD="title" AUTOLINK="true" LINKALT="true" LINKALTTEXT=" " NUM="15">信息标题</CMSPRO_DOCUMENT></span> <span class="pdate" style="display:none"><CMSPRO_DOCUMENT FIELD="sxtime" DOMAINMETADATANAME="失效日期" DATEFORMAT="yyyy-MM-dd HH:mm:ss">失效日期</CMSPRO_DOCUMENT></span> </td> </tr> </CMSPRO_DOCUMENTS> <!--列表处理end--> <!--空行处理begin--> <!--空行处理end--> </tbody> </table>
七、动态创建标记
1、document.write()
2、innerHTML属性
3、DOM方法–createElement()、appendChild()、createTextNode()、insertBefore(newElement,targetElement)、
4、DOM方法中没有提供insertAfter函数,insertAfter自定义的insertAfter函数如下:
function insertAfter(newElement,targetElement){ var parent=targetElement.parentNode; if(parent.lastChild==targetElement){ parent.appendChild(newElement); } else{ parent.insertBefore(newElement,targetElement.nextSibling); }}
八、Ajax
var request;if(window.XMLHttpRequest){ request=new XMLHttpRequest(); //IE7+、Firefox、Chrome、Opera、Safari....}else{ request=new ActiveXObject("Microsoft.XMLHTTP");//IE6、IE5}request.open("GET","get.php",true);request.send();request.onreadystatechange=function(){ if(request.readyState==4&&request.status==200){ //做一些事情 request.responseText }}
发送请求方法:
open(method,url,async)
send(string)
例子:
request.open(“GET”,”get.php”,true);
request.send();
request.open(“POST”,”create.php”,true);
request.setRequestHeader(“Conetent-type”,”application/x-www-form-urlencoded”);
request.send(“name=王二狗&sex=男”);//当使用post方法时要带参数
取得相应的方法:
responseText:获得字符串形式的相应数据
responseXML:获得XML形式的相应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的相应报头
getResponseHeader():查询相应中的某个字段的值
重要属性:
readyState属性
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,也就是接收到头信息了
3:请求处理中
4:请求已完成
例子: Ajax应用实例——登录
九、style属性
(1)style属性只能返回行内样式,这是style属性获取样式很大的局限性,注意:用DOM设置样式,就可以用DOM再把它检索出来(在外部样式表里声明的样式不会进入style对象,在文档的<head>
部分里声明的样式也是如此,style对象只包含在HTML代码里用style属性声明的样式)
element.style.color;element.style.fontFamily;element.style.marginTopWidth;//对应margin-top-width
(2)设置样式
element.style.property=value;
- js日常小笔记
- java日常小笔记
- JSP日常小笔记
- 日常小笔记-maven
- Linux 日常应用的一些小笔记
- js日常
- js日常小练习:实现图片的轮播效果
- js小笔记
- cocos2d-js 小笔记
- js小笔记
- JS小笔记
- 2017/8/11日常笔记——前端小积累
- 日常笔记
- 日常笔记
- 日常笔记
- 日常笔记
- 日常笔记
- 日常笔记
- 2016东莞市特长生考试 村庄重建
- alogithm之remove()函数 std::remove()
- 【jzoj5050】【颜色树】【容斥原理】【树形动态规划】
- Mac系统下配置php
- HDU 5857
- js日常小笔记
- HDU 1541+poj 2352 stars
- Git Bash 不能输入中文的简单解决办法
- 遇见问题记录-oracle表,行死锁
- 登录界面记住密码的存储——SharedPreferrences
- 算法导论 练习题 8.1-3
- 语言基础、运算符、控制语句
- 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
- checbox的全选,以及复选,还有点击监听和状态监听