javascript - 将一个 jquery 函数应用于多个选择器?

标签 javascript jquery

我有一个非常复杂的 dom 树,有各种异常等。所以我不想使用

我想执行类似“对于每条错误消息,我想向先前的输入添加一个类”的功能。

现在我正在用树遍历来做,但出于各种原因,这不是一个好的解决方案。有没有什么好的方法可以直接针对正确的输入值?我可以完全控制 html,因此我可以根据需要向它们添加类等!

实际的 HTML:

<label for="from">Från</label>
    <input value="as" title="Ort, gata eller kommun" name="from" id="from" class="field from input_error" type="text">
    <div class="spacer">
        <div class="error visible">
            <p>Vilken adress menar du? Välj i listan!</p>
            <ul>
                <li>
                    <a href="addtrip?from=American%20Samoa&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">American Samoa</a>
                    </li>
                <li>
                    <a href="addtrip?from=Assam,%20India&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">Assam, India</a>
                    </li>
                <li>
                    <a href="addtrip?from=Elias,%20El%20Gaiara,%20Azbakia,%20Cairo,%20Egypt&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">Elias, El Gaiara, Azbakia, Cairo, Egypt</a>
                    </li>
                <li>
                    <a href="addtrip?from=Amberg,%2092224,%20Germany&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">Amberg, 92224, Germany</a>
                    </li>
                <li>
                    <a href="addtrip?from=As%20-%20Bras%C3%ADlia,%20Brasilia%20-%20Distrito%20Federal,%20Brazil&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">As - Brasília, Brasilia - Distrito Federal, Brazil</a>
                    </li>
                <li>
                    <a href="addtrip?from=As,%205753%20Deurne,%20The%20Netherlands&amp;to=&amp;when=&amp;got_car=1&amp;name=&amp;email=&amp;phone=&amp;details=&amp;posted" class="adress">As, 5753 Deurne, The Netherlands</a>
                    </li>
                </ul>
            </div>
        </div>
    <label for="to">Till</label>
    <input value="" title="Ort, gata eller kommun" name="to" id="to" class="field to help input_error" type="text">
    <div class="spacer">
        <div class="error">
            <p>Var ska du?</p>
            </div>
        </div>
    <label for="when">När</label>
    <div class="jdpicker_w">
        <input value="" title="YYYY-MM-DD" name="when" id="when" class="field when input_error" type="text">
        <div class="date_selector">
            <div class="nav">
                <div class="error_msg"></div>
                <p class="month_nav">
                    <span class="button prev" title="[Page-Up]">«</span>
                    <span class="month_name">November</span>
                    <span class="button next" title="[Page-Down]">»</span>
                    </p>
                <p class="year_nav">
                    <span class="button prev" title="[Ctrl+Page-Up]">«</span>
                    <span class="year_name" id="year_name">2010</span>
                    <span class="button next" title="[Ctrl+Page-Down]">»</span>
                    </p>
                </div>
            </div>
        </div>
    <div class="spacer">
        <div class="error">
            <p>När vill du åka?</p>


</div>

最佳答案

您可以将所需的类添加到每个错误消息的先前输入中,如下所示:

$('.error').each(function(index){
    $(this).closest('div.spacer').prev('input').addClass('desired-class-'+index);
});

在前面的场景中,你的每个输入字段都会有一个唯一的类名,
如果您希望它们都具有相同的类名,只需删除 +index

关于javascript - 将一个 jquery 函数应用于多个选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096158/

相关文章:

javascript - 在javascript中将树从graphql格式转换为json格式

javascript - 独立选择 jquery 选择器找到的每个项目,对它们运行一个函数 'on load,' 可以这么说

javascript - 如何在比原始尺寸更大的颜色框中显示图像?

javascript - Mac 上的屏幕视频捕获(包括鼠标光标)?

javascript - addJavascriptInterface 在 Android 中不返回字符串值

javascript - Chart JS 在条形图的顶部显示数据值

javascript - 如何根据第一个选择下拉菜单显示选择下拉菜单

javascript - 知道如何禁用嵌入式 "Vine.co"视频的自动播放吗?

javascript - 为 jQuery 中的每个 else if 条件提供一个 else 条件

JavaScript 切换显示 : block/none