Javascript 将jquery对象分配给变量不会';I don’我没有按预期工作
有人能解释为什么这些版本的代码中有一个有效,而另一个失败吗 这不起作用:Javascript 将jquery对象分配给变量不会';I don’我没有按预期工作,javascript,jquery,Javascript,Jquery,有人能解释为什么这些版本的代码中有一个有效,而另一个失败吗 这不起作用: var classForSelectedElement = "hightlight"; var prevSelect = $(".form-element"); var $selectedElement = $("div").on("click", ".form-element",function(e){ prevSelect.removeClass(classForSelectedElement); $(
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);
});
为什么?假设
.form元素
元素在加载后动态附加到DOM中(由于您使用了委托事件处理程序),那么第一个示例不起作用,因为您试图在页面加载时检索.form元素
,但它们尚未存在。为什么使用事件委托?如果你不知道那是什么,你肯定需要了解它(因为你正在使用它)。如果你知道是什么,你基本上已经有了答案。@bibangamba可能会回答你的问题。你完全正确(动态追加)。没有意识到发生了什么。谢谢没问题,很乐意帮忙。