关于Ajax中this失效

   citychange(".provincedata", ".citydata");
        citychange(".citydata", ".areadata");
        function citychange(change, add) {//改变的dom  插入的dom
            $(change).change(function () {
                var code = $(change).find("option:selected").attr("data-code");
                var str = Get_lsdata("code" + code); //拿到缓存中的数据
                var obj = $(this);-------------------------------------------------------------在这个位置把this给到一个变量中
                if (str != null && str != "") {
                    $(this).siblings(add).html(str);
                } else {
                    $.ajax({
                        url: "/SystemManageAction/GetCityByProvince",
                        type: "post",
                        dataType: "json",
                        data: { pcode: code },
                        success: function (data) {
                            if (data.result == 1) {
                                var str = "";
                                var data = JSON.parse(data.data);
                                for (var i = 0; i < data.length; i++) {
                                    str += " <option   data-code=" + data[i].Code + ">";
                                    str += data[i].Name;
                                    str += " </option >";
                                }
                                Set_lsdata("code" + code, str);//缓存字符串
                                $(obj).siblings(add).html(str);      -------------------------此处如果是$(this)则代表的是ajax这个对象
                            } else {
                                alert("获取信息失败,请刷新再试!")
                            }
                        },
                        error: function () {
                            alert("服务器异常!")
                        }
                    })
                }
              
            })
        }
原文地址:https://www.cnblogs.com/C-dashazi/p/7476668.html