1

私はこのようなHTMLを持っています

<table>
    <tr>
        <td>
            <select>
                <option>12AM</option>
                <option>11PM</option>
            </select>
        </td>
        <td>
            <select>
                <option>12AM</option>
                <option>11PM</option>
            </select>
        </td>
    </tr>
</table>

各 tr 内の select タグに id 属性を割り当てたいと思います。次のjqueryは動作していないようです

function addRow()
{
    var rowCount = 0;
    $('#SHourDivTable tr').each(function() {
        if(rowCount != 0)
        {
            console.log($(this).html());
            $(this).add("select:eq(0)").attr("id", rowCount);
            $(this).add("select:eq(1)").attr("id", rowCount);
        }
        rowCount = rowCount + 1;
    });
}

これを実行すると、select タグではなく id 属性が tr に割り当てられます。

4

2 に答える 2

2

IDは一意である必要があります。また、数字で始めるべきではありません。dataこれを行うには、属性を使用する必要があります。

マークアップにその ID を持つテーブルが表示されないため、table代わりにも使用しました。#SHourDivTable

最後に、ここで行っていることは必要ありfind ません。 add

これを試して:

function addRow()
{
    var rowCount = 0;
    $('table tr').each(function() {
        if(rowCount != 0)
        {
            $(this).find("select:eq(0)").data("rowNumber", rowCount);
            $(this).find("select:eq(1)").data("rowNumber", rowCount);
        }
        rowCount = rowCount + 1;
    });
}
于 2013-03-27T21:32:17.230 に答える
1

これにより、選択した要素に id 1,2 が追加されます。マークアップに余分なものがありましたが、ID は一意でなければならないことも覚えておいてください! ID の 1 と 2 も不適切な ID です。select1、select2 などの方が適切です。

それがあなたの意図であると信じているので、ID SHourDivTable をあなたのテーブルに追加しました。

デモ

$('#SHourDivTable tr select').each(function(i,select) {
    $(select).attr('id','select'+i);
});
于 2013-03-27T21:39:10.620 に答える