以下是代码片段:
HTML:
<div class="thematicHeaderBox group">
<h3 class="thematicHeader group">SMTH</h3>
<button class="activatedUsual" style="float: right; ">on</button>
</div>
JS,不要工作:
attachEvents(
$(".thematicHeaderBox").children(".activatedUsual"),
self.elem.box.thematic.settings.event
);
JS,WORKS:
attachEvents(
$(".thematicHeaderBox").find(".activatedUsual"),
self.elem.box.thematic.settings.event
);
attachEvents func:
function attachEvents (elems, data) {
for(var p in data){
if(data.hasOwnProperty(p)){
elems.live(
data[p].name,
data[p].callback
);
}
}
}
data是要使用的对象事件名称和回调数组。
问题是为什么只有第二种变体正常工作。
答案 0 :(得分:1)
.children()
方法允许我们在DOM树中搜索这些元素的直接子项,并从匹配元素构造一个新的jQuery对象。
即时子女意味着一个层次结构。在您的情况下,.activatedUsual
不是'.thematicHeaderBox'的直接子项。