'<button id="'+item['id']+'" class="btnDeactivateKeyInChildPremiumCustomer waves-effect waves-light>ok</button>'
Jquery各関数内でボタンを生成するために上記のコードを使用しました。ボタンは動的に作成され、ボタンをクリックすると、ボタンの進行状況が表示されます。私はこれを使用しています Ladda Button Loader 。
btnDeactivateKeyInChildPremiumCustomerClick : function(event){
var id = event.currentTarget.id;
var btnProgress = Ladda.create(document.querySelector('#'+id));
//btnProgress.start(); or //btnProgress.stop();
}
そして、ボタンを渡すと、イベントハンドラーは上記の関数のイベントプロセスをキャッチし、その関数内でbtnProgressオブジェクトを作成します。その後、私はstart()またはstop()関数を呼び出すことができます。各ボタン内に動的にボタンを作成せずに、ボタンが1つだけの場合は正常に動作しました。しかし、それぞれの場合で、実行中にいくつかのエラーが表示されていますvar btnProgress = Ladda.create(document.querySelector( '#' + id));
エラー
Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': '#22' is not a valid selector.
HTML5ドキュメントでは 数字で始まるID を使用できます。
値は、要素のホームサブツリー内のすべてのIDで一意であり、少なくとも1つの文字が含まれている必要があります。値にスペース文字を含めることはできません。
IDが取り得る形式には他の制限はありません。特に、IDは数字のみで構成され、数字で始まり、アンダースコアで始まり、句読点のみで構成されます。
ただし、querySelector
メソッドはDOMのクエリにCSS3セレクターを使用し、CSS3は数字で始まるIDセレクターをサポートしていません。
CSSでは、識別子(セレクターの要素名、クラス、およびIDを含む)には、文字[a-zA-Z0-9]およびISO 10646文字U + 00A0以上、およびハイフン(-)およびアンダースコア( _);数字、2つのハイフン、またはハイフンの後に数字を続けることはできません。
ID属性にb22
などの値を使用すると、コードが機能します。
IDで要素を選択するため、.getElementById
メソッドも使用できます。
document.getElementById('22')
これはHTMLでは有効ですが、整数で始まるIDをCSSセレクターで使用することはできません。
指摘したように、代わりにgetElementById
を使用できますが、querySelector
を使用しても同じことを実現できます。
document.querySelector("[id='22']")