所以我创建了一个带边框的类。叫边境检查。此边框仅需要在td.k-editable-area没有值时显示(没有在textarea中写入)。
我可以添加第一行的类,但是一旦我添加了if else语句,它就会分解并且不会添加该类。所以我不确定是否再次添加类或者我的if else语句没有正确说明。
$("td.k-editable-area").addClass("border-check");
if ("td.k-editable-area" == "") {
$("td.k-editable-area").addClass("border-check");
} else {
$("td.k-editable-area").removeClass("border-check");
}
答案 0 :(得分:2)
你的if语句正在比较两个不同的字符串。
"td.k-editable-area" == "" //false
它没有从元素$("td.k-editable-area")
中获取值,因此请将其设为
if ( $("td.k-editable-area").text().trim() == "") {
修改强>
如果必须检查多个td
,那么
$("td.k-editable-area").each( function(){
var $this = $(this);
if ( $this.text().trim() == "") {
$this.addClass("border-check");
} else {
$this.removeClass("border-check");
}
})
答案 1 :(得分:1)
正如其他人所说,你的情况是测试两个字符串,这不是你想要的。
如果您的目标是根据特定的td
是否为空来添加/删除每个的课程,那么您需要一个循环:
$("td.k-editable-area").each(function() {
var $this = $(this);
$this.toggleClass("border-check", !$this.text().trim());
});
你不能只使用
// NOT THIS
$("td.k-editable-area").toggleClass("border-check", !$("td.k-editable-area").text().trim());
...因为这会更新所有元素上的课程,具体取决于他们是否所有空白。 (对于任何其他jQuery访问器,它将基于第一个,但text
很奇怪。)
答案 2 :(得分:0)
function onEditorChange(e) {
var text = e.sender.body.innerText;
if (text.trim() === "") {
$("td.k-editable-area").addClass("border-check");
} else {
$("td.k-editable-area").removeClass("border-check");
}
}