zoukankan      html  css  js  c++  java
  • 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()

    从文档树中删除并返回指定的子节点,用另一个节点替换它。

     
  • 相关阅读:
    lazyload is not a function解决方式
    APK反编译(Linux环境下)
    讲解图片压缩的文章
    startActivityForResult相关的
    把APP做成libary的注意事项
    ViewPager+Fragment,Fragment会预加载的问题
    FragmentTabHost使用注意
    使用ReTrofit做缓存(结合上拉加载和下拉刷新)
    极光推送,极光IM使用指南(AndroidStudio)
    AndroidStudio使用注意事项
  • 原文地址:https://www.cnblogs.com/xuxw/p/3416426.html
Copyright © 2011-2022 走看看