【问题标题】:Abbreviate the writing of several attributes at once with jquery用jquery一次简写几个属性
【发布时间】:2016-08-24 08:14:31
【问题描述】:

我有一些带有属性class="item" 的输入标签,我想添加一个唯一的id 属性和属性的唯一名称。这是我使用的代码:

$( ".item" ).attr( "id", function( index ) {
return "item" + (index+1);
}).attr( "name", function( index ) {
return "item" + (index+1);
}).attr( "value", function( index ) {
return "item" + (index+1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="groupitem">
<input type="text" class="item"/>
<input type="text" class="item"/>
<input type="text" class="item"/>
</form>

我对上面的代码没有问题,但是我只是想问有没有其他方法可以比我上面写的代码更好或更短的编写jquery? 也许有人可以给出一个想法

【问题讨论】:

    标签: javascript jquery html input attr


    【解决方案1】:

    您可以在一个动作中完成所有操作,也许使用each 循环。它甚至非常易于维护且易于阅读 imo。

    $(".item").each(function(i) {
        $(this).attr({
            id    : "item" + (++i),
            name  : "item" + i,
            value : "item" + i,
        });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <form id="groupitem">
      <input type="text" class="item"/>
      <input type="text" class="item"/>
      <input type="text" class="item"/>
    </form>

    【讨论】:

    • 是的,你说的是真的@eisbehr。事实证明,这种方式更容易、更有效。我也不需要添加变量
    猜你喜欢
    • 2020-02-03
    • 2012-06-03
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2017-04-23
    • 1970-01-01
    相关资源
    最近更新 更多