私は要素識別子の配列を持っています、いくつかのサーバー側の検証から戻ってきます。 IDの先頭に「#」は付いていません。配列を通って各メンバに#を前置するのではなく、すべての要素をIDで直接選択するjqueryの手段はありますか?あなたが彼らにID_1のようなものに名前を付けて、あなたはあなたができる文字列としてIDを持っている場合は、このIDの配列 - JavaScript/JQueryで選択する方法?
$("[id^='id_]") // returns multiple
私は要素識別子の配列を持っています、いくつかのサーバー側の検証から戻ってきます。 IDの先頭に「#」は付いていません。配列を通って各メンバに#を前置するのではなく、すべての要素をIDで直接選択するjqueryの手段はありますか?あなたが彼らにID_1のようなものに名前を付けて、あなたはあなたができる文字列としてIDを持っている場合は、このIDの配列 - JavaScript/JQueryで選択する方法?
$("[id^='id_]") // returns multiple
昔ながらのgetElementByIdを忘れてはいけませんか?idsのハッシングは必要ありません。それからちょうどjQueryオブジェクトを取得するためのjQueryにノードを養う:
var ids = ['jq-primarySearch', 'jq-n-CSS'];
var nodes = $.map(ids, function(i) { return document.getElementById(i) });
var jqObj = $(nodes);
JavaScriptは実際には分かりません。$ .map(ids、document.getElementById ) '本当にうまくいきません! –
このようなjQueryで選択してください
$("#"+id); //gives you one element
類似したIDが複数ある場合は、Elzoのsugges 。
を行うことができID_2場合は、この
$("[id=id_value]"); // returns 1 id
のようにIDによって選択することができますjQueryのでは
あなたはちょうどこのように、それらを結合することができます:
var ids = ['div1', 'div2', 'div3'];
$('#' + ids.join(',#')).click(function() { alert('hi'); });
今話しています – Andreas
今、私たちはガスで料理しています! –
(NB - 私はこれを試していない - これが私の頭の上からです)
のは、あなたの配列が「編曲であるとしましょう"
文字列識別子の配列をjQueryオブジェクトの配列にマップして、通常のjQueryセレクタを使用してそれらをすべて連結できませんでしたか?
$($.map(arr, function(id) { return $('#' + id); }))
ちょうどノードの選択を行い、自分にはその結果をラップ:
$(document.getElementById(id))
はjQueryのだけ戻って解析する必要があること、文字列セレクタを構築するセーブそしてまったく同じことをしてください。さらに、 ':'や '。'のようなエスケープ文字については心配する必要はありませんが、IDでは有効ですがセレクタでは他のものを意味します。
あなたはjQueryの答えを望み、JSを選択しました:( –
@Elzo、満足のいくjqソリューションがありませんでした。 –
@Elzo、彼のソリューションはJSとjQueryの素晴らしい組み合わせでした。 – davidethell