javascript - 在另一个元素之后添加 HTML 元素

标签 javascript jquery html

我正在使用注册表

<form role="form" id="registrationForm">
    <div class="form-group">
        <h2><span th:text="#{register.title}">Create account</span></h2>
    </div>
    <div class="form-group">
       <label class="control-label" for="username" th:text="#{register.yourUsername}">Your username</label>
       <input name="username" id="username" type="text" maxlength="36" class="form-control" th:placeholder="#{register.username}"/>
    </div>
    <div class="form-group">
       <label class="control-label" for="email" th:text="#{register.email}">E-mail</label>
       <input name="email" id="email" type="email" class="form-control" th:placeholder="#{register.email}"/>
    </div>
...

我验证服务器上的表单,如果出现错误,我会在 JSON 板中返回错误列表。然后我尝试在表单上的适当位置插入错误消息。

$.ajax({
        type: 'POST',
        url: '/register',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify(registerDTO),
        success: function (result) {
            console.log("SUCCESS");
            window.location.replace("/signIn");
        },
        error: function (error) {
            var obj = JSON.parse(error.responseText);
            for(var i = 0; i < obj.field_errors.length; ++i) {
                var objError = obj.field_errors[i];

                if(objError.field === "reCaptcha") {
                    grecaptcha.reset();
                    console.log('error captcha');
                }
                if(objError.field === "username") {
                    $('#username').append('<label id="username-error" class="error" for="username">' + objError.message + '</label>');
                    console.log('error username');
                }
            }
        }
    });

这是一条线

$('#username').append('<label id="username-error" class="error" for="username">' + objError.message + '</label>');

如何在 <input name="username" .. /> 之后添加标签?

最佳答案

使用.after()

$("input[name='username']").after('<label id="username-error" class="error" for="username">' + objError.message + '</label>');

关于javascript - 在另一个元素之后添加 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46135978/

相关文章:

javascript - 根据频率分布词 CSS HTML

javascript - 将 Jquery/html 变量链接到 javascript

php - 格式化 MySQL 搜索结果

html - 根据 Angular 6 中的类删除元素

javascript - Javascript 中的 isInIframe 检测

javascript - 如何检测iframe的源页面是否完全加载到DOM中

javascript - 使用 Jquery 设置 CSS 宽度时边框半径发生变化

javascript - 在私有(private)函数中访问全局(javascript)变量

jquery - 检查输入值 > 0 jQuery Coffee

javascript - jQuery.isPlainObject() 和 jQuery.isEmptyObject() 之间的区别