我正在尝试使任何带有“RW”字符串的 TD 单元格都具有红色类。我需要使用 .on 因为网格有分页并重新加载新内容。我还需要使用每一个,因为可能有多个包含该字符串的 TD 单元格。
$("#json-table").on("tbody tr td"){
if ($(this).text() == 'RW').each({
$(this).addClass('red'))};
我正在尝试使任何带有“RW”字符串的 TD 单元格都具有红色类。我需要使用 .on 因为网格有分页并重新加载新内容。我还需要使用每一个,因为可能有多个包含该字符串的 TD 单元格。
$("#json-table").on("tbody tr td"){
if ($(this).text() == 'RW').each({
$(this).addClass('red'))};
如果您不关心 中是否存在其他字符td
,则可以使用选择器更直接地过滤到正确的单元格:contains
:
$('#element_id').on('click', function() {
$('#json-table td:contains("RW")').addClass('red');
});
element_id
您要分配单击事件处理程序的元素的 ID 在哪里。
你会想用.filter()
这里来缩小你的集合,但没有更多信息,我们不能说从哪里调用它。请记住 jQuery 函数在整个集合上运行,这就是您想要的:
$("#json-table tbody tr td").filter(function() {
return $(this).text() == 'RW';
}).addClass('red');
...你需要用你的分页代码来调用它。
编辑:因为您似乎正在使用 datatables.net,所以更完整的示例是:
$('#json-table').bind('sort filter page', function () {
$("tbody tr td", this).filter(function() {
return $(this).text() == 'RW';
}).addClass('red');
});
.on() 和.each()完全不同。.on() is used to attach an event
其中.each() is used to iterate over objects or arrays.
试试这个
$("#json-table tbody tr td").each(function(){
var $this = $(this);
if($this.text().indexOf('RW') > -1)){
$this.addClass('red');
}|
});
.on
用于处理元素触发的事件。查看文档以了解正确的用法。假设您要处理单击事件,语法如下所示。您提到该事件将被委派,因此您的使用必须与此签名匹配。
$("#json-table").on('click', "tbody tr td", function() {
if ( $(this).text() == 'RW') ) {
$(this).addClass('red');
}
});
请注意,按原样,您.each
被链接到if
无效的 JS 语句。this
已经引用了<td>
您定位的正确元素。