以后需要改变

时间:2011-07-11 10:26:44

标签: jquery

我正在使用以下jQuery函数在输入后追加一个元素:

var emailToVal = $("#nameFrom").val();
        if(emailToVal == '') {
            $("#nameFrom").after('<div class="error">Please enter your name.</div>');
            hasError = true;
        }

我需要一种方法将元素附加在输入的右边而不是之后。

有办法吗?

3 个答案:

答案 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;
    }

希望这会起作用