2017-08-09 5 views
-3

のjavacript変数を使用する前に質問があります。 jQueryセレクタ。JavaScript変数を複数のjQueryセレクタで使用する

How to use javascript variables in jquery selectors

しかし、私の質問は、二つ以上のセレクタで一つの変数を使用する方法ですか?

var itemId = $(this).closest('li').attr('id'); 

これは、1つのセレクタ

var contentType = $('#' + itemId + ' .content-type'); 

しかし、どのように私は

var contentType = $('.content-type1, .content-type2'); 
+2

試し: 'VARのcontentType = $( '#' +のitemId + '.content- '、'、 'item' + itemId + '.content-type2'); ' – tech2017

+0

'、 'は最初のセレクタ –

+0

の中になければならないので、これは機能しません。私は編集できませんでした。しかし、あなたは考えを持っています – tech2017

答えて

1

これは、2つのセレクタの間に,を追加することで同じ方法で行います。

のとおり、あなたがやっている:2つの要素については

var contentType = $('#' + itemId + ' .content-type'); 

を、あなたは,を使用します。

var contentType = $('#' + itemId + ' .content-type1, #' + itemId + ' .content-type2'); 
+0

私のエディタから構文エラーが出ますが、文字列の中にあってはいけませんか? – Doomenik

+0

はい、そうです。コードを更新しました。 –

+0

ありがとうございます –

0

以下のように1行に2つのセレクタを持っているとき、あなたは同じくらいあなたが必要とするように手動CONCATできitemIdを使用するためのものですしかし、おそらくセレクタを使って次のように準備することができますので、変数に簡単にn倍を追加することができます:

var itemId = $(this).closest('li').attr('id'); 
var selector = '#{i}.content-type1, #{i}.content-type2, #{i}.content-type3'; // you can extend this as much as you like or even add a loop to construct content types 
var finalSelector = selector.split('{i}').join(itemId); // doing the replace 
var contentType = $(finalSelector); 

ここで{i}は架空のプレースホルダ文字列です。私はこれがもう少し読みやすいと思う。それは

「以上のセレクタ」

論理的部分に来るときとにかくあなたの質問はちょっと奇妙です。おそらく、達成しようとしているもののコードフロー/実装手法を変更する必要があります。

関連する問題