我正在使用以下jQuery函数在输入后追加一个元素:
var emailToVal = $("#nameFrom").val();
if(emailToVal == '') {
$("#nameFrom").after('<div class="error">Please enter your name.</div>');
hasError = true;
}
我需要一种方法将元素附加在输入的右边而不是之后。
有办法吗?
答案 0 :(得分:1)
根据您的说法,看起来元素被放置在标记的正确部分,但是因为DIV是块级元素,所以它出现在新行上。
这有几种方法,其中一种方法是添加CSS来设置div以显示内联。
Anther选项不是渲染DIV,而是输出LABEL元素。这给了额外的好处,通过在元素中添加FOR属性,您可以将错误消息强烈地耦合到文本框。
var emailToVal = $("#nameFrom").val();
if(emailToVal == '') {
$("#nameFrom").append('<label for="nameFrom" class="error">Please enter your name.</label>');
hasError = true;
}
答案 1 :(得分:0)
var emailToVal = $("#nameFrom").val();
if(emailToVal == '') {
$("#nameFrom").append('<div class="error">Please enter your name.</div>');
hasError = true;
}
答案 2 :(得分:0)
我认为这将由CSS制作。首先,使您的输入字段float:left
然后
只需更改您的jQuery代码,如
emailToVal = $("#nameFrom").val();
if(emailToVal == '') {
$("#nameFrom").after('<div class="error" style="float:left;">Please enter your name.</div>');
hasError = true;
}
希望这会起作用