我正在使用Telerik的Kendo套件,我需要对Scheduler小部件中的每个单元格执行检查。我这样做是通过搜索名为' role'并对他们做一个.each。这工作正常,但如果我在页面上有多个调度程序,我不想迭代所有td' s只是特定调度程序中的那些(这是一个html表引擎盖下)。 我尝试给调度程序一个ID,但选择器似乎找不到任何td。 当我只使用(" td [role = gridcell]")。每个都可以工作但返回页面中的所有td。如果我尝试添加我想要的调度程序的id,它就什么也没有。
var scheduler = $("#scheduler").data("kendoScheduler");
var view = scheduler.view();
view.table.find("#scheduler td[role=gridcell]").each(function (index, value)
{
// Do checking here.
})
我确定选择器中的语法存在问题,但我无法弄明白。
答案 0 :(得分:1)
#scheduler
来电中不需要find
选择器。
$("#scheduler").find("td[role=gridcell]").each(function (index, value) {
$(value).css('color', 'red');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="scheduler">
<tr>
<td role="gridcell">A</td>
<td role="gridcell">B</td>
<td>C</td>
<td>D</td>
</tr>
</table>
<table id="test">
<tr>
<td role="gridcell">A</td>
<td role="gridcell">B</td>
<td>C</td>
<td>D</td>
</tr>
</table>
&#13;
答案 1 :(得分:0)
在jQuery中,你应该能够做到这一点:
$("#scheduler td[role='gridcell']").each(function(index, elem) {
// code here
});
注意:无需使用单独的.find()
操作,因为您只需将其全部放入选择器即可。