2016-07-12 25 views
0

div内に多数のタグを持つdivがあります。 x属性を持つすべてのテキスト要素にclickイベントをバインドします。jqueryまたはangularjsに特定の属性を持つタグ名を持つ要素を取得する方法

私は

$('#attendacneLineChart').find('text') 

を試してみましたが、これは、すべてのテキスト要素を返します。しかし、x属性を持つテキスト要素だけが必要です。

+1

それは重複しません。私はOPがjQueryを使って属性で選択できることを明確に示していますが、決してこれを角度で行うべきではありません。代わりにこれは指令で行うべきです。 – dfsq

+1

「テキスト要素」のようなものはありません。記述しようとしているHTMLの例を挙げてください。そしてあなたはどんな属性を探していますか? 「クリック」イベントで何をしたいですか? –

+0

jQueryとマークされています。これは重複していますか? http://stackoverflow.com/questions/11913841/accessing-attributes-from-an-angularjs-directive - 私はそれを閉じた後、とにかく意味をなさない "属性を持つテキスト"を見ました。 OPは彼が意味する属性の有無にかかわらずhtmlの例を表示する必要があります – mplungjan

答えて

2

使用

$('#attendacneLineChart').find('text[X]') 

あなたが:not

$('#attendacneLineChart').find('text[X]:not([y])') // for more use 'text[X]:not([y]):not([z])' 
+1

いいえ、これは完全に間違っています。私たちはjQueryではなくAgnularを話すことを覚えています。 – dfsq

+0

ありがとう!これは動作しています..私は特定の属性を持ついくつかの要素を無視したいのですか? –

+0

@SunilGarg updated answer –

2

を使用することができますattrに特定して、いくつかの要素を無視したい場合、私はx属性を持つすべてのテキスト要素にクリックイベントをバインドしたいです。

このためディレクティブを作成します。

.directive('x', function() { 
    return { 
    link: function(scope, element) { 
     element.click(function() { 
     console.log('clicked') 
     }) 
    } 
    } 
}) 
0

あなたは要素を見つけることにjqueryの[attribute='value']セレクタを使用することができ、特定の属性を持っています。

$("div > p[myAttr]").click(function(){ 
 
    console.log($(this).text()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
    <p>Text1</p> 
 
    <p myAttr="1">Text2</p> 
 
    <p>Text3</p> 
 
    <p myAttr>Text4</p> 
 
</div>