我试图清除OnEditorActionListener.onEditorAction方法中的多行EditText字段.
但使用任何明显的方式,即
((EditText) view).getEditableText().clear();
((EditText) view).getEditableText().clearSpans();
((EditText) view).setText("");
Run Code Online (Sandbox Code Playgroud)
仅清除可见字符 - 在字段中保留换行符(然后必须手动删除).
有没有办法'完全'清除多行EditText字段?(或者至少 - 有人知道为什么以上不起作用吗?)
不是jQuery,因为我只是$("this").parent().addClass("active");在纯粹的javascript中.这是因为我不想在以下代码中混淆Javascript和jQuery:
var clickedPath = this.getElement();
clickedPath.classList.add("active");
var classes = clickedPath.getAttribute('class').match(/\d+/g) || [];
buttons.forEach(function(btn) {
var method = classes.indexOf(btn.getAttribute('data-date')) > -1 ? 'add' : 'remove';
btn.classList[method]('active');
//btn.parent().addClass("active");
});
Run Code Online (Sandbox Code Playgroud)
UPDATE
这是添加类之前的HTML启动案例:
<ul>
<li>1500</li>
<li>1400
<ul>
<li>1401</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我们有两种情况:
如果我将类添加active到1500,那很好,我可以使用答案中提供的代码:
btn.parentNode.classList[method]('active');
Run Code Online (Sandbox Code Playgroud)
但是如果我将类添加到1401,那么1400也应该有它,所以以下是两种情况:
<ul>
<li class="active">1500</li>
<li>1400
<ul>
<li>1401</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
要么
<ul>
<li>1500</li>
<li class="active">1400
<ul>
<li class="active">1401</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)