Jquery - 在每个循环中查找下一个元素

Jquery - find next element in each loop

本文关键字:查找 下一个 元素 循环 Jquery      更新时间:2023-09-26

我有这样的问题。

我有HTML结构:

<form id="form">
    <div class="row">
        <div class="item-input">
            <label for="A1">A1</label>
            <input type="text" name ="A1" />
            <span class="input-require">(*)</span>
            <span class="info">(Enter A1)</span>
        </div>
        <div class="item-input">
            <label for="A2">A2</label>
            <input type="text" name ="A2" />
            <span class="input-require">(*)</span>
            <span class="info">(Enter A2)</span>
        </div>
    </div>
    <div class="row">
        <div class="item-input">
            <label for="B1">B1</label>
            <input type="text" name ="B1" />
            <span class="input-require">(*)</span>
            <span class="info">(Enter B1)</span>
        </div>
        <div class="item-input">
            <label for="B2">B2</label>
            <input type="text" name ="B2" />
            <span class="input-require">(*)</span>
            <span class="info">(Enter B2)</span>
        </div>
    </div>
    ...
</form>

现在我想选择"span"在输入[类型=文本]后面都有类"信息"。我尝试:

<script type="text/javascript"> 
    $(document).ready(function() {
        $("#form input[type=text]").each(function(){
            var spanInfo = $(this).closest("item-input").next().find('span.info');
            console.log(spanInfo.text()); // Result is empty
        });
    });
</script>

为什么是空的?请帮帮我。我怎么做,谢谢

var spanInfo = $(this).closest("item-input").next().find('span.info');

应该是

var spanInfo = $(this).closest(".item-input").next().find('span.info');

您缺少 .(点,类)

您的平均值是显示"(输入 A2)"和"(输入 B2)"或显示所有 4 个元素值:(输入 A1)、(输入 A2)、(输入 B1)、(输入 B2)

如果只显示 2 个值,则在此处编码

否则你想显示 4 个值,你可以编码:

$(document).ready(function() {
    $("#form input[type=text]").each(function(){
        var spanInfo = $(this).closest(".item-input").find('span.info');
        console.log(spanInfo.text()); 
    });
});