如何在单击 table 行时在 <tr> 元素中创建一个 class 名称
How to create one class name in <tr> element while click on the table row
我需要在单击 table 上的相应行时在标签中包含一个 class 名称,因为我需要在使用时单击相应行时突出显示该行css。当我单击该行时,它没有在控制台中显示任何 class 名称;因此,我无法创建行突出显示。
这是我使用的代码:
click: function () {
var test = this.HeaderRowView.tableView.model;
$('.content-data').off('contextmenu');
$('.content-data').contextmenu(function(e){
if(e.which == 3){
var ibmm = this.hovered;
var model = Core.model.Menu.create({
loadState: 'done',
content: [
Core.model.Menu.Item.create({
label: 'Delete IBMM Definition',
icon: 'delete',
invoke: function () {
var fmtLabel = ibmm.label ? (ibmm.label + " ("+ibmm.name+")") : ibmm.name;
Core.confirm(
"Delete IBMM Definition",
"Are you sure you want to delete the IBMM Definition for " + fmtLabel + "?",
"Delete",
"Cancel"
).then(function () {
Core.services({
service: 'ibmm',
type: 'delete',
data: {
name: ibmm.name
}
}).done(function () {
test.reload();
Core.notify({
title:"Delete IBMM Definition",
message: "IBMM Definition " + fmtLabel + " deleted"
});
});
});
}
})
]
});
var view = Core.view.Menu.create({
model: model,
menuContext: { ibmm: ibmm },
});
document.styleSheets[1].cssRules["1538"].style.display ="none"
view.show();
Ember.run.next(view, (function () {
var X = e.clientX;
var Y = e.clientY;
if(document.getElementsByClassName('context-menu-items')[0]) {
document.getElementsByClassName('context-menu-items')[0].style.left = X+'px';
document.getElementsByClassName('context-menu-items')[0].style.top = Y+'px';
document.styleSheets[1].cssRules["1538"].style.display =""
document.getElementsByClassName('context-menu-items')[0].style.display = "block"
} else {
view.remove()
document.styleSheets[1].cssRules["1538"].style.display =""
return false;
}
}).bind(this));
return false;
}
}.bind(this))
}
这里是带有相应代码的点击选项。请从这个角度提出答案。提前致谢。
我想你可以使用这样的东西:
$(".your-tr-class").removeClass("your-tr-class");
$(this).closest("tr").addClass("your-tr-class");
首先,您应该找到之前突出显示的 tr 并删除 class,然后将其添加到您正在单击的那个。
我需要在单击 table 上的相应行时在标签中包含一个 class 名称,因为我需要在使用时单击相应行时突出显示该行css。当我单击该行时,它没有在控制台中显示任何 class 名称;因此,我无法创建行突出显示。
这是我使用的代码:
click: function () {
var test = this.HeaderRowView.tableView.model;
$('.content-data').off('contextmenu');
$('.content-data').contextmenu(function(e){
if(e.which == 3){
var ibmm = this.hovered;
var model = Core.model.Menu.create({
loadState: 'done',
content: [
Core.model.Menu.Item.create({
label: 'Delete IBMM Definition',
icon: 'delete',
invoke: function () {
var fmtLabel = ibmm.label ? (ibmm.label + " ("+ibmm.name+")") : ibmm.name;
Core.confirm(
"Delete IBMM Definition",
"Are you sure you want to delete the IBMM Definition for " + fmtLabel + "?",
"Delete",
"Cancel"
).then(function () {
Core.services({
service: 'ibmm',
type: 'delete',
data: {
name: ibmm.name
}
}).done(function () {
test.reload();
Core.notify({
title:"Delete IBMM Definition",
message: "IBMM Definition " + fmtLabel + " deleted"
});
});
});
}
})
]
});
var view = Core.view.Menu.create({
model: model,
menuContext: { ibmm: ibmm },
});
document.styleSheets[1].cssRules["1538"].style.display ="none"
view.show();
Ember.run.next(view, (function () {
var X = e.clientX;
var Y = e.clientY;
if(document.getElementsByClassName('context-menu-items')[0]) {
document.getElementsByClassName('context-menu-items')[0].style.left = X+'px';
document.getElementsByClassName('context-menu-items')[0].style.top = Y+'px';
document.styleSheets[1].cssRules["1538"].style.display =""
document.getElementsByClassName('context-menu-items')[0].style.display = "block"
} else {
view.remove()
document.styleSheets[1].cssRules["1538"].style.display =""
return false;
}
}).bind(this));
return false;
}
}.bind(this))
}
这里是带有相应代码的点击选项。请从这个角度提出答案。提前致谢。
我想你可以使用这样的东西:
$(".your-tr-class").removeClass("your-tr-class");
$(this).closest("tr").addClass("your-tr-class");
首先,您应该找到之前突出显示的 tr 并删除 class,然后将其添加到您正在单击的那个。