好,所以我有这段代码:

var el = {a:"b","isSel":true};
$.each(el,function(k,v){
  if(k=="isSel"){
    v=false
  }
})
console.log(el);


但这不会改变isSel为假...任何线索吗?

最佳答案

更改为

var el = {a:"b","isSel":true};
$.each(el,function(k,v){
  if(k=="isSel"){
    el[k]=false // <= this sets the property named k of el
  }
})
console.log(el);


请注意,如果只想更改el的名为"isSel"的属性,则不必进行迭代:您可以简单地执行

el["isSel"] = false;


要么

el.isSel = false;

09-04 22:18