我必須.unbind()
來自父節點的所有元素。如何在jQuery中從父級選擇所有子級(在任何級別)?
如何從父母中選擇所有孩子(在任何級別)?
嘗試:
$('#google_translate_element *').unbind('click');
,但它僅適用於第一個孩子的水平......
Here有一個測試用例
我必須.unbind()
來自父節點的所有元素。如何在jQuery中從父級選擇所有子級(在任何級別)?
如何從父母中選擇所有孩子(在任何級別)?
嘗試:
$('#google_translate_element *').unbind('click');
,但它僅適用於第一個孩子的水平......
Here有一個測試用例
使用jQuery.find()找到孩子多個級別深。
.find()和.children()方法類似,但 後者只沿DOM樹向下傳遞單個級別。
$('#google_translate_element').find('*').unbind('click');
您需要'*'
在find()
:在呼叫
在不同的樹遍歷方法休息,需要選擇 表達.find()。如果我們需要檢索 所有的後代元素,我們可以通過通用選擇器 '*'來完成此操作。
我現在正在使用此權限,但是我是否必須擔心性能? – ProblemsOfSumit
是的,offcourse。你應該總是擔心表現。現代瀏覽器的執行速度相當快,但如果遇到此特定代碼段的問題,請儘量保持父元素較小(不要太多兒童)或將子項分組到較小的集合中。 – Konerak
我認爲你可以這樣做:
$('#google_translate_element').find('*').each(function(){
$(this).unbind('click');
});
但它會引起大量的開銷
你有一個測試案例證明這一點? – lonesomeday
難道你不能只做$('#google_translate_element')。find('*')。unbind('click'); – rickyduck