Jquery 选择器上下文不总是有效的?
我有一段代码如下:Jquery 选择器上下文不总是有效的?,jquery,selector,implementation,Jquery,Selector,Implementation,我有一段代码如下: function funcName() { if(isOverlap("#obj1", ".obj2") == true) { doThisFunc(".obj2"); } } function isOverlap(obj1, obj1){ //check to see if objects overlap, returns true if so } function doThisFunc(obj1){ counter++;
function funcName() {
if(isOverlap("#obj1", ".obj2") == true) {
doThisFunc(".obj2");
}
}
function isOverlap(obj1, obj1){
//check to see if objects overlap, returns true if so
}
function doThisFunc(obj1){
counter++;
$(obj1, this).remove();
}
但这并不会删除试图删除的类的特定实例,事实上它根本不会删除任何内容。您能否向我解释为什么选择器上下文在这种情况下无效,以及一种只删除一个重叠实例的方法?可能使用.on()
和.trigger()
?(我还不太清楚它们的作用)
编辑:是指向项目的链接。if语句位于JavaScript部分的第157行。“doThisFunc”实际上是从同一节的第180行开始的
getCoin(obj1)
。我尝试使用Vega的补救方法,但无法使其工作在doThisFunc
函数中的此
引用将是窗口
对象。调用函数时没有维护上下文。从处理程序调用外部函数以维护上下文时,请使用.call
或.apply
doThisFunc.call(this, ".obj2");
doThisFunc
函数中的this
引用将是window
对象。调用函数时没有维护上下文。从处理程序调用外部函数以维护上下文时,请使用.call
或.apply
doThisFunc.call(this, ".obj2");
您是否可以发布一个完整的代码示例,如果可能的话,还可以发布一个JSFIDLE?添加
console.log(这个)代码>在doThisFunc
函数中。我怀疑它不会像你想象的那样。你能发布一个完整的代码示例,如果可能的话,发布一个JSFIDLE吗?添加console.log(这个)代码>在doThisFunc
函数中。我怀疑它不会像你想象的那样。参考:参考: