說我有一個HTML的結構像使用querySelectorAll時,有沒有辦法引用上下文節點的直接子節點,而不使用ID?
<div id="a">
<div id="b">
<div id="c"></div>
</div>
</div>
要做到爲「A」使用querySelectorAll的孩子查詢我可以這樣做
//Get "b", but not "c"
document.querySelectorAll('#a > div')
我的問題是:是否有可能如果沒有ID,直接引用節點?我試着做
var a_div = document.getElementById('a')
a_div.querySelectorAll('> div') //<-- error here
但我得到一個錯誤告訴我,我使用的選擇器是無效的。
而如果你想知道,我的實際使用情況會更復雜的東西像「>包含.foo的.bar .baz」,所以我寧願避免手動DOM遍歷。目前,我正在向根div添加一個臨時ID,但這看起來像一個醜陋的黑客...
另請參閱:http://stackoverflow.com/questions/3680876/use-queryselectorall-to-retrieve-direct-children – natevw 2014-11-11 19:23:05