我需要將其轉換爲Javascript代碼的基礎,但這並沒有工作..
document.queryselector("#intrusionGroup1").closest("div").children(....)
應該說queryselector
不是一個功能,因爲它需要資本S
。如果您使用的是querySelector
,則他們的下一個錯誤是closest
不是函數,因爲DOM沒有closest
方法。
您需要定義您自己的工作人員功能,該功能可使用parentNode
來處理「最接近」的部分。例如,一些依稀像:
function closest(element, tagName) {
while (element && element.tagName !== tagName) {
element = element.parentNode;
}
return element;
}
與jQuery的closest
,只有做了標記名稱檢查,而不是一個CSS選擇器檢查(見element.matches
如果你需要一個完整的CSS選擇器檢查)。
children
是元素上的有效DOM屬性。
,那麼你就必須:
var children = closest(document.queryQelector("#intrusionGroup1", "div").children;
但因爲你有一個ID,你可能看getElementById
代替:
var children = closest(document.getElementById("intrusionGroup1", "div").children;
注意children
是DOM中的屬性,而不是一個函數。
然後,你需要處理循環通過每個級別的孩子,併除掉你不想要的。但肯定有一個更簡單的方法來做到這一點。舉例來說,如果你把一個id
在div
你與closest
(比如說,intrusionGroupDiv1
)查找,然後就變成:
var matches = document.querySelectorAll("#intrusionGroupDiv1 > div > ul > li > div > a");
*「轉換的jQuery JavaScript代碼」 *這已經是JavaScript代碼。您正試圖使用jQuery將JavaScript代碼轉換爲使用DOM的JavaScript代碼。這不是語言的變化,而是API的變化。 –
最接近兒童仍然jQuery功能 – madalinivascu