有人可以解释为什么其中一个版本的代码有效而另一个失败了吗?
这不起作用:
var classForSelectedElement = "hightlight";
var prevSelect = $(".form-element");
var $selectedElement = $("div").on("click", ".form-element",function(e){
prevSelect.removeClass(classForSelectedElement);
$(this).addClass(classForSelectedElement);
});
虽然这有效:
var classForSelectedElement = "hightlight";
var $selectedElement = $("div").on("click", ".form-element",function(e){
$(".form-element").removeClass(classForSelectedElement);
$(this).addClass(classForSelectedElement);
});
为什么?
答案 0 :(得分:2)
假设.form-element
元素在加载后动态地附加到DOM(由于您使用了委托事件处理程序),那么第一个示例在您尝试检索{{1}时不起作用在页面加载之前它们存在。