如何使用javascript或jquery通过append更改输入中的类值
如何更改输入中的类名,这是我的HTML代码:如何使用javascript或jquery通过append更改输入中的类值,javascript,jquery,Javascript,Jquery,如何更改输入中的类名,这是我的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 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>');
}
});
$(document).on('keyup','.nhay',函数(e){
如果(e.keyCode==13){
$(this.removeClass('a nhay');
$('#c')。附加('');
}
});
当我按enter键时,我希望它是这样的
输出HTML:
<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>
您不需要替换元素,只需添加新类即可:
$(document).on('keyup', '.nhay',function(e) {
if (e.keyCode == 13) {
$(this).removeClass('a nhay').addClass('new name');
}
});
您甚至可以将其缩短为对toggleClass()
的单个调用:
还请注意,对于同一文档中的多个元素,具有相同的
id
属性是无效的,如果要将这些元素组合在一起,则应将它们更改为类。您不需要替换元素,只需添加新类即可:
$(document).on('keyup', '.nhay',function(e) {
if (e.keyCode == 13) {
$(this).removeClass('a nhay').addClass('new name');
}
});
您甚至可以将其缩短为对toggleClass()
的单个调用:
还请注意,对于同一文档中的多个元素,具有相同的
id
属性是无效的,如果要将这些元素组合在一起,则应将它们更改为类。注意: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");
});
注意: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");
});
注意:类之间不应该有
空格
。它们将被视为不同的类。显示的html标记无效-您不应该对多个元素使用相同的标识符注意:类之间不应该有空格
。它们将被视为不同的类。显示的html标记无效-您可以不应为多个元素使用相同的标识符谢谢。我确实努力了,而且成功了。但是为什么光标不在输入中移动已经被重命名了,因为它仍然是同一个元素,因此焦点仍然存在。如果要更改光标的位置,请使用.focus()将光标放置在所需元素上。我知道如何使用.focus()将光标放置在所需元素上。$(“#element youwant”)。focus()不是。我是说。当我按ENTER键时,我希望光标按从左到右的顺序在每个输入中移动。我确实努力了,而且成功了。但是为什么光标不在输入中移动已经被重命名了,因为它仍然是同一个元素,因此焦点仍然存在。如果要更改光标的位置,请使用.focus()将光标放置在所需元素上。我知道如何使用.focus()将光标放置在所需元素上。$(“#element youwant”)。focus()不是。我是说。当我按enter键时,我希望光标按从左到右的顺序在每个输入中移动