我正在使用带有可过滤列的Kendo网格。单击过滤器图像时,会出现一个新的div,其中没有与之关联的任何类。我的问题是添加" k-rtl"这个div的课程。
我的剑道网格代码(简要):
columns: [ {
field: "Title",
title: "Title",
filterable: {
ui: titleFilter
}
}
]
function titleFilter(element) {
element.kendoAutoComplete({
dataSource: titles
});
}
以下是点击过滤器按钮后生成的代码:
<div>
<div class="k-filter-help-text" ....>
</div>
</div>
我想添加class =&#34; k-rtl&#34;到父div,在jquery中这样的东西
$(".k-filter-help-text").parent().addClass("k-rtl");
我该怎么做?上面提到的JQuery不起作用,因为当执行document.ready()时,没有这样的div元素。
答案 0 :(得分:1)
你最初的想法是对的!
你应该使用类似的东西:
$(".k-filter-help-text").parent().addClass("k-rtl");
但是试着先走一步......
如果您没有div,则无法添加该类,那么您应该尝试查看事件。 (当div存在时)
第一个示例:http://api.jquery.com/toggleClass/
只是一个想法,在document.ready(当Kendo Grid完全可见时,在列上有过滤器图像)时,你应该为过滤器图像上的点击添加一个事件处理程序。
$(document).ready(function {
$( "identifier" ).click(function() {
// add class code
});
});
您可以使用“.k-grid-filter”作为标识符。
我希望有所帮助,让我知道!
答案 1 :(得分:0)
我必须在运行时抓取click事件并应用CSS类:
$(".k-grid-filter").on("click", $(".k-filter-help-text").parent(), function () {
$(".k-filter-help-text").parent().addClass("k-rtl");
});