带有JQuery的变量和选择器

带有JQuery的变量和选择器,jquery,Jquery,你能解释一下区别吗 在此之间: $(document).on("change", "#domaine_uid", function() { $("#site_uid").empty(); }); const site_uid = $("#site_uid"); $(document).on("change", "#domaine_uid", function() { site_uid.empty(); }); 还有这个: $(document).on("change", "#

你能解释一下区别吗

在此之间:

$(document).on("change", "#domaine_uid", function() {
    $("#site_uid").empty();
});
const site_uid = $("#site_uid");
$(document).on("change", "#domaine_uid", function() {
    site_uid.empty();
});
还有这个:

$(document).on("change", "#domaine_uid", function() {
    $("#site_uid").empty();
});
const site_uid = $("#site_uid");
$(document).on("change", "#domaine_uid", function() {
    site_uid.empty();
});

为什么第二个代码不起作用?

第二个代码不起作用,因为您正在将
$(“#site_uid”)
保存在
常量(常量)中<声明后不能编辑代码>常量


使用
let
var

第二个代码不起作用,因为您正在
常量中保存
$(“#站点uid”)
<声明后不能编辑代码>常量


使用
let
var

第一个函数计算单击处理程序中的
$(“#site_uid”)
,因此它将应用于执行单击处理程序时找到的任何匹配元素

第二种方法立即计算
$(“#site_uid”)
一次,而且只计算一次。因此,它应用于页面加载时找到的任何匹配元素


目标元素可能是在页面加载后添加的。

第一个元素计算单击处理程序中的
$(“#site_uid”)
,因此它应用于执行单击处理程序时找到的任何匹配元素

第二种方法立即计算
$(“#site_uid”)
一次,而且只计算一次。因此,它应用于页面加载时找到的任何匹配元素

大概目标元素是在页面加载之后添加的