如何通过 jquery 引用此元素
how to refer this element by jquery
我在 html table 中有这样的 td:
我必须添加或删除每个 td 的 class highlight
onclick 并基于来自服务器的 returned 数据:
$("body").on("click","table#idnum tbody tr td",function(event){
var tdid = this.id;
var url = '...server url ..........';
var data = {tdid:tdid};
$.ajax({
url,
data: data,
type:"POST",
dataType: "json",
success: function(data){
if(data.returnval==0){
this.removeClass('highlight');
}else{
this.addClass('highlight');
}
}
});
上面的代码经过测试,发现它可以根据从页面(tdid)获取值来改变关注mysql字段的字段值,但不能add/remove class td
基于 return 回调数据(returnval 0 或 1)。我认为用于突出显示 td
的选择器在我上面的代码中不正确。
所以请告诉我如何通过添加 class highlight
来突出显示 td
if returnval 为 1 或删除突出显示 td
if return通过移除 class 'highlight'?
val 为 0
注意:我无法通过选择 class.
来为 td
使用任何 class 来添加或删除 class
你需要试试,
// this will not work in success callback
if(data.returnval==0){
$('#'+tdid).removeClass('highlight');//use td id
}else{
$('#'+tdid).addClass('highlight');
}
有两个问题。
首先,当AJAX success
函数被调用时,this
与原来的事件处理函数中是不一样的。您可以使用 context:
选项到 $.ajax
来传递它:
context: this,
其次,this
是一个DOM元素,不是jQuery对象,所以需要用$(this)
才能在上面使用jQuery方法.
我在 html table 中有这样的 td:
我必须添加或删除每个 td 的 class highlight
onclick 并基于来自服务器的 returned 数据:
$("body").on("click","table#idnum tbody tr td",function(event){
var tdid = this.id;
var url = '...server url ..........';
var data = {tdid:tdid};
$.ajax({
url,
data: data,
type:"POST",
dataType: "json",
success: function(data){
if(data.returnval==0){
this.removeClass('highlight');
}else{
this.addClass('highlight');
}
}
});
上面的代码经过测试,发现它可以根据从页面(tdid)获取值来改变关注mysql字段的字段值,但不能add/remove class td
基于 return 回调数据(returnval 0 或 1)。我认为用于突出显示 td
的选择器在我上面的代码中不正确。
所以请告诉我如何通过添加 class highlight
来突出显示 td
if returnval 为 1 或删除突出显示 td
if return通过移除 class 'highlight'?
注意:我无法通过选择 class.
来为td
使用任何 class 来添加或删除 class
你需要试试,
// this will not work in success callback
if(data.returnval==0){
$('#'+tdid).removeClass('highlight');//use td id
}else{
$('#'+tdid).addClass('highlight');
}
有两个问题。
首先,当AJAX success
函数被调用时,this
与原来的事件处理函数中是不一样的。您可以使用 context:
选项到 $.ajax
来传递它:
context: this,
其次,this
是一个DOM元素,不是jQuery对象,所以需要用$(this)
才能在上面使用jQuery方法.