Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript或jquery通过append更改输入中的类值_Javascript_Jquery - Fatal编程技术网

如何使用javascript或jquery通过append更改输入中的类值

如何使用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> </

如何更改输入中的类名,这是我的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>');
    }
});
$(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键时,我希望光标按从左到右的顺序在每个输入中移动