以下是jsp頁面的部分:
而我的js函數最終是這樣寫的:
js函數的目的就是不通過id,卻能夠獲得兩個input的value,即起始時間和結束時間,然后比較兩個時間的大小。
首先是取得當前節點input節點的父節點p(即td節點),然后再取得父節點的上一個節點的第一個子結點input。這樣就達到了目的。
這里想強調的是,不要忘記td節點是input節點的父節點,不能當成是它的兄弟節點。
另外還想說:previousSibling和nextSibling在IE和FF之間的差異:
先來看一個例子:
該對象的結構表面上看,div的nextSibling只有2項——兩個input節點。但實際上有5項——/n,input,/n,input,/n。這是因為input作為創建各種表單輸入控件的標簽,無論是生成button、checkbox、radio...等或其他表單控件,IE都會自動在后面創建一個1字節位的空白。
IE將跳過在節點之間產生的空格文檔節點(如:換行字符),而Mozilla不會這樣——FF會把諸如空格換行之類的排版元素視作節點讀取,因此,在ie 中用nextSibling便可讀取到的下一個節點元素,在FF中就需要這樣寫:nextSibling.nextSibling了。
previousSibling的作用正好相反,但是用法也是同樣的道理!
nextSibling和previousSibling介紹
在FireFox中包含眾多空格作為文本節點,因此在我們使用nextSibling和previousSibling時就會出現問題。因為FireFox會把文本節點誤當做元素節點的兄弟節點來處理。我們可以添加nodeType來判斷。當上一節點或者是下一節點為文本節點時,就繼續尋找,直到找到下一個元素節點。以下代碼僅供參考,在fireFox中測試通過:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com