javascript
JS,JQuery杂谈
JS返回頁面:
?JS返回前一個頁面,經(jīng)常看到有人用window.history.go(-1)這種方法? 這種放的確可以返回,也僅僅只是返回,返回的頁面信息卻沒有刷新。也有人用windows.history.back(),但是經(jīng)常返回的時候會丟失頁面,最近寫一個返回上上個頁面但是信息會改變的按鈕,于是想到了結(jié)合window.history.go(-1)實現(xiàn),用window.location.href=window.history.go(-2).toString()
?
JQuery 模糊匹配:
[屬性名稱] 匹配包含給定屬性的元素
[att=value] 匹配包含給定屬性的元素 (大小寫區(qū)分)
[att*=value] 模糊匹配
[att!=value] 不能是這個值
[att$=value] 結(jié)尾是這個值
[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關(guān)于日期比較和獲取:
var myDate = new Date(Date.parse("1991,11,11"));//將字符串轉(zhuǎn)換成日期函數(shù)
var year=new Date().getFullYear();//獲取當(dāng)前時間的年份
var month=new Date().getMonth() + 1;//獲取當(dāng)前時間的月份,注意+1,getmonth月份計算是以0開始的,所以在獲取時需要+1 var day=new Date().getDate();//獲取當(dāng)前時間的日期 var datenow = new Date(Date.parse( new Date().getFullYear()+ "," + (new Date().getMonth() + 1) + "," + new Date().getDate()));//轉(zhuǎn)換日期格式
在用JS進行日期比較的時候可以直接date()>new Date(Date.parse("1991,11,11"))或者以date()>myDate 這種形式進行比較
如果當(dāng)前時間相對于比較的時間晚 則在比較的時候是當(dāng)前時間要小于進行比較的時間
parseInt(Math.abs(EndTime- StrTime)??/??1000??/??60??/??60??/24);//計算兩個日期直接相差的天數(shù)。?
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);
}///計算開始時間與結(jié)束時間相差多少個月
JS在table標簽的指定位置插入一行數(shù)據(jù)
? function InsertProduct() {
??????????????????????????? var tb = document.getElementById("productTable"); //獲取表格標簽
??????????????????????????? var refRow = tb.rows.length - 1; //table中現(xiàn)有的行數(shù)減一
??????????????????????????? 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); //單元格數(shù)量
?????????????? cell.setAttribute('id', "ccoll"); //合并后的單元格id
??????????????? cell.innerHTML = "合并的單元格"; //單元格里面的內(nèi)容
??????????????? newRefRow.appendChild(cell); //將單元格加入到表格行的結(jié)尾處
JS計算日期
//日期減去天數(shù)后得到新的日期
? 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的全部子節(jié)點;
??????var c = a.parentNode;獲取a的父節(jié)點;
??????var d = a.nextSbiling;獲取a的下一個兄弟節(jié)點
??????var e = a.previousSbiling;獲取a的上一個兄弟節(jié)點
??????var f = a.firstChild;獲取a的第一個子節(jié)點
??????var g = a.lastChild;獲取a的最后一個子節(jié)點
?
jQuery.parent(expr) 找父親節(jié)點,可以傳入expr進行過濾,比如$("span").parent()或者$("span").parent(".class")
jQuery.parents(expr),類似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素
jQuery.children(expr).返回所有子節(jié)點,這個方法只會返回直接的孩子節(jié)點,不會返回所有的子孫節(jié)點
jQuery.contents(),返回下面的所有內(nèi)容,包括節(jié)點和文本。這個方法和children()的區(qū)別就在于,包括空白文本,也會被作為一個
jQuery對象返回,children()則只會返回節(jié)點
jQuery.prev(),返回上一個兄弟節(jié)點,不是所有的兄弟節(jié)點
jQuery.prevAll(),返回所有之前的兄弟節(jié)點
jQuery.next(),返回下一個兄弟節(jié)點,不是所有的兄弟節(jié)點
jQuery.nextAll(),返回所有之后的兄弟節(jié)點
jQuery.siblings(),返回兄弟姐妹節(jié)點,不分前后
jQuery.find(expr),跟jQuery.filter(expr)完全不一樣。jQuery.filter()是從初始的jQuery對象集合中篩選出一部分,而jQuery.find()
的返回結(jié)果,不會有初始集合中的內(nèi)容,比如$("p"),find("span"),是從
p元素開始找,等同于$("p span")
?
js獲取節(jié)點操作
| 接口 | nodeType常量 | nodeType值 | 備注 |
| Element | Node.ELEMENT_NODE | 1 | 元素節(jié)點 |
| Text | Node.TEXT_NODE | 3 | 文本節(jié)點 |
| Document | Node.DOCUMENT_NODE | 9 | document |
| Comment | Node.COMMENT_NODE | 8 | 注釋的文本 |
| DocumentFragment | Node.DOCUMENT_FRAGMENT_NODE | 11 | document片斷 |
| Attr | Node.ATTRIBUTE_NODE | 2 | 節(jié)點屬性 |
| 方法 | 描述 |
| createAttribute() | 用指定的名字創(chuàng)建新的Attr節(jié)點。 |
| createComment() | 用指定的字符串創(chuàng)建新的Comment節(jié)點。 |
| createElement() | 用指定的標記名創(chuàng)建新的Element節(jié)點。 |
| createTextNode() | 用指定的文本創(chuàng)建新的TextNode節(jié)點。 |
| getElementById() | 返回文檔中具有指定id屬性的Element節(jié)點。 |
| getElementsByTagName() | 返回文檔中具有指定標記名的所有Element節(jié)點。 |
| 屬性 | 描述 |
| attributes | 如果該節(jié)點是一個Element,則以NamedNodeMap形式返回該元素的屬性。 |
| childNodes | 以Node[]的形式存放當(dāng)前節(jié)點的子節(jié)點。如果沒有子節(jié)點,則返回空數(shù)組。 |
| firstChild | 以Node的形式返回當(dāng)前節(jié)點的第一個子節(jié)點。如果沒有子節(jié)點,則為null。 |
| lastChild | 以Node的形式返回當(dāng)前節(jié)點的最后一個子節(jié)點。如果沒有子節(jié)點,則為null。 |
| nextSibling | 以Node的形式返回當(dāng)前節(jié)點的兄弟下一個節(jié)點。如果沒有這樣的節(jié)點,則返回null。下一個兄弟節(jié)點 |
| nodeName | 節(jié)點的名字,Element節(jié)點則代表Element的標記名稱。 |
| nodeType | 代表節(jié)點的類型。 |
| parentNode | 以Node的形式返回當(dāng)前節(jié)點的父節(jié)點。如果沒有父節(jié)點,則為null。 |
| previousSibling | 以Node的形式返回緊挨當(dāng)前節(jié)點、位于它之前的兄弟節(jié)點。如果沒有這樣的節(jié)點,則返回null。上一個兄弟節(jié)點 |
| 方法 | 描述 |
| appendChild() | 通過把一個節(jié)點增加到當(dāng)前節(jié)點的childNodes[]組,給文檔樹增加節(jié)點。 |
| cloneNode() | 復(fù)制當(dāng)前節(jié)點,或者復(fù)制當(dāng)前節(jié)點以及它的所有子孫節(jié)點。 |
| hasChildNodes() | 如果當(dāng)前節(jié)點擁有子節(jié)點,則將返回true。 |
| insertBefore() | 給文檔樹插入一個節(jié)點,位置在當(dāng)前節(jié)點的指定子節(jié)點之前。如果該節(jié)點已經(jīng)存在,則刪除之再插入到它的位置。 |
| removeChild() | 從文檔樹中刪除并返回指定的子節(jié)點。 |
| replaceChild() | 從文檔樹中刪除并返回指定的子節(jié)點,用另一個節(jié)點替換它。 |
轉(zhuǎn)載于:https://www.cnblogs.com/xuxw/p/3416426.html
總結(jié)
以上是生活随笔為你收集整理的JS,JQuery杂谈的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么查询局域网内全部电脑IP和mac地址
- 下一篇: jQuery以JSONP的访问调用一个W