如何在输入中更改名称类这是代码HTML:
<div id="c">
<div class="aaa">
<input id="b" name="aa" class="a" />
<input id="b" name="aa" class="a nhay" />
<input id="b" name="aa" class="a" />
</div>
</div>
Javascript:
$(document).on('keyup', '.nhay', function (e) {
if (e.keyCode == 13) {
$(this).removeClass('a nhay');
$('#c').append('<div class="aaa"><input id="b" name="aa" class="a"/><input id="b" name="aa" class="a nhay"/><input id="b" name="aa" class="a"/></div>');
}
});
当我按下
时,我不喜欢这样退出HTLM:
<div id="c">
<div class="aaa">
<input id="b" name="aa" class="a" />
<input id="b" name="aa" class="new name" />
<input id="b" name="aa" class="a" />
</div>
</div>
答案 0 :(得分:2)
您不需要替换元素,只需添加新类:
$(document).on('keyup', '.nhay',function(e) {
if (e.keyCode == 13) {
$(this).removeClass('a nhay').addClass('new name');
}
});
您甚至可以将其缩短为仅调用一次toggleClass()
:
$(this).toggleClass('a nhay new name');
另请注意,同一文档中多个元素具有相同的id
属性无效,如果要将这些元素组合在一起,则应将其更改为类。
答案 1 :(得分:0)
注意:DOM中的元素应该不共享相同的id标记。例如,您不应该有3个输入元素都具有相同的id =“b”。
要更改类,可以使用.removeClass(),后跟.addClass()jQuery方法:
// select the input element with id=b
$("input#b").on('keyup', function(e) {
// remove classes "a" and "nay", add classes "new" and "name"
$(this).removeClass("a nhay").addClass("new name");
});