简体   繁体   English

使用hasClass循环输入

[英]Looping through input with hasClass

I have a HTML form that I need to perform a loop through using jQuery to check whether each element has a required class attached to it. 我有一个HTML表单,我需要通过使用jQuery来检查每个元素是否附加了required类来执行循环。

Here's my HTML layout: 这是我的HTML布局:

<form>
    <p class="form-field  first_name pd-text required">
        First Name<br>
        <input type="text" name="first_name">
    </p>
    <p class="form-field  last_name pd-text required">
        Last Name<br>
        <input type="text" name="last_name">
    </p>
    <p class="form-field  mobile pd-text required">
        Mobile<br>
        <input type="text" name="mobile">
    </p>
    <p class="form-field  email pd-text">
        Email<br>
        <input type="text" name="email">
    </p>
    <p class="form-field  skype pd-text">
        Skype<br>
        <input type="text" name="skype">
    </p>
</form>

As you can see only some of the p elements have a required class attached, I need to do some kind of foreach loop and append an asterisk sign after the text, so for example: 正如您所看到的,只有一些p元素附加了required类,我需要做一些foreach循环并在文本后添加星号,例如:

    <p class="form-field  first_name pd-text required">
        First Name
        <input type="text" name="first_name">
    </p>

Would become 会成为

    <p class="form-field  first_name pd-text required">
        First Name *
        <input type="text" name="first_name">
    </p>

Is this possible inside jQuery? 这可能在jQuery中吗?

You can use : 您可以使用 :

$('.required').each(function() {
  $(this).contents()[0].textContent += ' *';
});

Working Demo 工作演示

I managed to fix this using the following : 我设法使用以下方法修复此问题:

$('.required').each(function() {
    $(this).html(function(index, currentHtml) {
        return currentHtml.replace('<br>', '*<br>');
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM