如何使用Jquery$(this)更新不同div标记中的HTML.选择器



如果我有这样的表单:

<form id="form-04">
        <div name="form-status"></div>
        <input name="FromEmail" placeholder="Your Email Address" type="text">
        <input name="ToEmail" placeholder="Your Friends Email Address" type="text">
        <textarea name="Message" placeholder="Your Message, 512 characters max." rows="5"></textarea>
        <button style="float: right;" type="submit">Submit</button>
    </form>

如果我叫$(这个(。像这样:

    $('#form-01, #form-02, #form-03, #form-04').each(function() {
    $(this).validate({
        ..... bla bla bla
    });
});

如何引用名称为"表单状态"的div?我试过了,但我不知所措?

$("div:first", this).html("HTML txt goes here.");

我应该使用alt属性还是其他什么?

附言:我知道如果我只在div标记中使用id,这会很容易,但我没有这个选项。

使用find((

$(this).find('[name="form-status"]').html('HTML txt goes here.');

所以我打算留下一条详细说明一切的评论,但你应该使用类而不是id。。对于所有的事情。。。

您的#form1#form2#form3。。。。#form1000232212100001003应该都是class="target-form"的类,或者是一个你认为足够描述性的名称的变体。

然后,您的代码就可以满足您的需要了。

$('.target-form').each(function() {
    var form = $(this);
    form.find('[name="form-status"]').html('Yep that worked.');
    form.validate({
        // ..... bla bla bla
    });
});

只是为了跟上这个趋势。。。尽管name对很多事情来说都是一个有效的属性,但它并不是正确的做事方式。我更喜欢最佳实践。使用类。。再一次只要将name更改为class,就完成了。仅在divpspanetc...上进行此更改。。input很好。

最新更新