2016-06-28 4 views
0

私の質問は簡単ですが真実を見つけることができません
Javascript onclickイベント(HTML)でregexを使用することはできますか?例えば
それは正規表現を使用して、異なるIDが、同じタグでDIVを表示することが可能である:
Javascript onclickイベント(HTML)でregexを使用することはできますか?

のdiv S:

onclick='$("#/^{{site.City}}./").show();' 
:JavaScriptの正規表現

<div class='zone' id='{{site.City}}'> 
<div class='zone' id='{{site.City}}{{immo.CodeImmo}}'> 
<div class='zone' id='{{site.City}}{{sth else}}'> 

私は心配ですdはJavascriptのonclickイベントの正規表現の構文についてです。
可能ですか?どのようにそれを行うことが可能ですか?
この質問は個人的な知識です。おかげ

EDIT:
OK私は今、私が使用することができます知っている:{{site.Cityが}}チェーン変数である場合

onclick=`$('div[id*="{{site.City}}"]').show();` 

が、私はどのように行うことができますか?
djangoのdictionary変数でもonclickのループの構文は何ですか?
トピックではありません。それは私の知識のためです。

<div class='zone site-city' id='{{site.City}}'> 
<div class='zone site-city' id='{{site.City}}{{immo.CodeImmo}}'> 
<div class='zone site-city' id='{{site.City}}{{sth else}}'> 

<a onclick='$(".site-city").show();'>Some anchor</a> 

はEDIT:は、私の知る限り、それはjQueryを使ってセレクタとして正規表現を使用することはできませんTHX

+0

クラス名を使用してイベントハンドラをアタッチしてみませんか? – NewToJS

+0

[** 'jQuery selector' **](https://api.jquery.com/category/selectors/)、つまり' $( '。zone') 'をとります。 – Jan

+0

あなたは正規表現が必要ではないようですが、セレクタで始まる属性を使うことができます。 – nnnnnn

答えて

2

、jQueryのセレクタで正規表現を使用することは不可能です。ただし、これらのIDにはCSSセレクターを使用できます。これにより、 "{{site.City}}"を含むIDを持つdivがすべて一致します。

onclick=`$('div[id*="{{site.City}}"]').show();` 

あなたは{{site.City}}で開始するid Sをご希望の場合は、以下を使用します:

div[id^="{{site.City}}"] 
あなたのonClickになるだろう

div[id*="{{site.City}}"] 

は(別の引用符に注意してください)。このように見える属性

セレクタの詳細はMDN pageにあります。

+0

はいいい考えですが、ここには1つの問題があります:site.Cityはいくつかの都市のリスト/辞書のためのものですので、このようなセレクタを使って(たとえば)2都市のみを選択するにはどうすればいいですか?そしてCity Immoとsth elseをbtwしてください。私はこれが一種のものだと分かっています。 – Gaetan

1

は、クラスセレクタを使用してみてください。最接近は、 "開始-と"([attr^=start])を使用することであり、 "終了 - と"([attr$=end])セレクター、あなたのケースにされるであろう:

onclick='$("[id^='{{site.City}}']").show();' 

EDIT 2:もしあなた本当に必要複雑なパターンに基づいて要素を一致させるために、あなたは、2つのステップでそれを行うために必要がある場合があります。私の知る限り

$("div.zone").filter(function() { 
    return /your regex here/.test($(this).attr('id')); 
}).show(); 
+0

thx私はこの作品を知っているが、それは私の質問に返信されません。私はidだけを使ってこれをやっていることに心配しているし、仕事をする正規表現かもしれない。 – Gaetan

+0

私はそれを手に入れます。私の編集をチェックしてください。 –

+0

ok thx @Mark Langerと同じ考えです。それでは、site.Cityがcaracter chain変数であるかどうかはどうすればわかりますか?例えば:NewYork、Chicago、LosAngeles、Denver ...そして私はChicago ans NewYorkのものだけを見せたくないのですか? onclickイベントでforを使うことは可能ですか? – Gaetan

関連する問題