2017-10-16 6 views
1

マイページに要素の表が含まれています。各行にはデータタグが付いています(シーンに来る前にデータベースが設定されているため、「reckey」と表示されます)。テーブルを構築するときに私のjavascriptを実行すると、タグが正しく設定されていることがわかります。つまり、この行:jqueryデータタグが値を返さない

$("#tblActivities tbody tr:first").data("reckey") 

は、値 '122157'を返します。しかし、この行でその行を検索しようとすると、次のようになります。

$("#tblActivities tbody tr[data-reckey='122157']") 

私のブラウザは未定義であることを示しています。私はまた、

$("#tblActivities tbody tr[attr-data-reckey='122157']") 

として、それを試してみたとsの&グラムのは、私は誰かが私には欠けているものを私に示してくださいすることができ

$("#tblActivities tbody tr[data-reckey]"), which still returned undefined. 

をしようとしただけのために?単純な構文エラーであれば、私はまったく驚くことはありませんが、私はそれがもっと深いと思っています。

おかげで、

+1

は、javascriptまたはプレーンhtmlの 'data-reckey = 122157'で追加されたデータですか?また、どのバージョンのjqueryを使用していますか? –

+1

https://stackoverflow.com/a/11673313/123422、おそらく? –

+0

@ UnamataSanatarai、私はjavascriptでデータタグを追加していますが、代わりにHTMLを作成する文字列にそのタグを含めるように変更することができます。バージョンは2.2.0を使用しています。 – mforbes

答えて

1

あなたはJavaScriptでデータ属性を追加しているので、それはjQueryのjQueryオブジェクトではなく、HTML内のデータを格納するとして、あなたは、$('[data-reckey="122157"]')経由(直接すなわち、それを選択することはできません。

だから、あなたができる場合は、このいずれかのように、たとえば、HTMLに直接data-reckey=""を配置、または要素を反復処理:

$("#tblActivities tbody tr").each(function() { 
    if ($(this).data('reckey') === '122157') { 
     // found the element... 
    } 
}); 
0

をケースの他の誰かが検索で確認のために、この同じ問題のために後で:ソリューションは、jQueryで後で変更するのではなく、htmlが作成された時点でデータタグを含めることでした。