Jquery将data-rel属性添加到所有输入字段并删除name属性

时间:2013-12-12 15:25:13

标签: javascript jquery html

我需要以某种方式将data-rel值设置为输入字段,并从特定类的相同输入字段中删除名称。

我到目前为止所做的代码正在努力从该特定字段中删除名称。但我不能将data-rel添加到同一个字段。

这是代码。

$('.vf-sortable-holder').each(function() {
    var empty_sortable = $(this).closest('.option').find('.empty-sortable').find('input');
    var sortable_name = empty_sortable.attr('name');

    input.attr('data-rel', sortable_name);

    empty_sortable.removeAttr('name');

});

所以html看起来像这样

<div class="option">
    <div class="vf-sortable-holder">
        <div class="empty-sortable hidden">
        <input type="text" name="example">
        </div>
    </div>
</div>

<div class="option">
    <div class="vf-sortable-holder">
        <div class="empty-sortable hidden">
        <input type="text" name="example">
        </div>
    </div>
</div>

所以我的js代码可以删除name属性,但我实际上需要用data-rel更改名称,以便用js代码从html中删除名称,并添加data-rel或者以某种方式将名称重命名为data-rel到最后我需要它看起来像这样:

<div class="option">
    <div class="vf-sortable-holder">
        <div class="empty-sortable hidden">
        <input type="text" data-rel="example">
        </div>
    </div>
</div>

<div class="option">
    <div class="vf-sortable-holder">
        <div class="empty-sortable hidden">
        <input type="text" data-rel="example">
        </div>
    </div>
</div>

3 个答案:

答案 0 :(得分:3)

这是你在找什么?

$('.vf-sortable-holder').each(function() {
    var empty_sortable = $(this).find('input');
    var sortable_name = empty_sortable.attr('name');

    empty_sortable.attr('data-rel', sortable_name).removeAttr('name');;
});

同时删除'。'来自HTML中的vf可排序类名。

答案 1 :(得分:1)

选择.vf-sortable-holder,然后是父.option,然后.empty-sortable,最后是input,所有内部循环,似乎都在跳过很多箍?

$('.option .vf-sortable-holder .empty-sortable input').attr('data-rel', function() {
    return this.name;
}).prop('name','');

答案 2 :(得分:0)

删除班级名称中的..vf-sortable-holder

<div class="option">
    <div class="vf-sortable-holder">
        <input type="text" name="example" />
    </div>
</div>
<div class="option">
    <div class="vf-sortable-holder">
        <input type="text" name="example2" />
    </div>
</div>

然后

jQuery(function () {
    $('.vf-sortable-holder input').attr('data-rel', function () {
        var name = this.name;
        $(this).removeAttr('name');
        return name;
    })
})

演示:Fiddle

相关问题