0

私は繰り返しHTMLの要素を動的に構築しています。

を作成していdisplay:tableますが、すべてうまくいっているようですが、編集nameする前に要素のを変更すると$.append()、Chrome の「要素」に表示されず、後で jQuery で選択できません。ただし、$.append()ing の前にed$.prop('name')を実行できます。alert()

動的に構築された要素は、$.append()変更する前に編集する必要があります$.prop('name')か?

コードサンプル:

$.fn.appendSingleRecordInsert = function(paramaterObject) {
    return this.each(function () {
        var $appendDiv = $('<div/>')
        ...
        $.each(paramaterObject.rows, function(rowKey, rowValue){
            var $rowDiv = $('<div/>');
            $.each(rowValue.columns, function(columnKey, columnValue){
                var $columnDiv = $('<div/>');
                if(typeof columnValue.name !== 'undefined'{
                    $columnDiv.prop('name', columnValue.name);
                }
                ...
                $rowDiv.append($columnDiv);
            })
            $appendDiv.append($rowDiv);
        });
        $(this)[paramaterObject.domInsertMethod]($appendDiv);
    });
4

2 に答える 2

2

nameプロパティ<div>要素には適用されません- それらにはname属性がありません。そのため、行っているプロパティの変更は属性値 (DOM インスペクター) に反映されません。

セレクターが必要な場合は、代わりに ID またはクラスを使用する必要があります。

于 2013-06-10T14:19:50.073 に答える