2016-08-05 11 views
1

私はなった結果だかどうかをテストし、このコードのスニペットを持っている:jQueryの - 選択された行のセルからデータを取得

$("#texts tr").on("click", function(evt){ 
    var parent_id = $(("td")[0]).text(); 
    alert(parent_id); 
}); 

そして、それは何を提供していないが、私は、私が構築してきた想像の私不適切にデータを取得しようとしていますか?

UPDATE:私の知る限り理解し、HTML(ノード内のヒスイのビューを使用して生成)

extends layout 
//- Format for displaying list of texts 

block content 
    h1 Equity Texts 
    table.table.table-striped.table-hover.table-bordered 
     thead 
      tr 
       th Objid 
       th Book Title 
      tbody#texts 
       each text in texts 
        tr(id = "book_" + text.objid) 
         td= text.objid 
         td= text.book_title 


    script(src="/jquery.min.js",type="text/javascript") 
    script(src="/handler.js",type="text/javascript") 
+0

ターゲット領域にないメインのHTMLページに、別のTDのテキストが表示されている可能性があります。あなたのHTMLも持って来てください。 –

+0

jqueryに付けるテーブルのhtmlを表示するように更新できますか? – JimmyB

答えて

1

、あなたがクリックしたTRの最初のTDのテキストを取得したいです。代わりにこれを試してください:あなたはtd:eq(0)

+0

td:first witをtd [0]に置き換えた場合は、空白が返されます。での引用符では何も返しません。引用符を付けないとエラーになります。 –

+0

代わりに 'td:eq(0)'を試してください。 – Mila

+0

クールです。それはうまくいった。ありがとう。そして今、私は特定の細胞を参照する方法を見ます。 –

1

セレクタは任意の要素を選択しないtあるとtd:firstを置き換えることができ

$("#texts tr").on("click", function(){ 
    var parent_id = $(this).find('td:first').text(); 
    alert(parent_id); 
}); 

。コードスニペット("td")[0]tを返し、それをjQueryのセレクタとして渡します。あなたがコーディングすることができ最初td要素のテキストコンテンツの取得のために

// you probably wanted to use this syntax 
$($('td')[0]).text(); 
// other alternatives 
$("td").eq(0).text(); 
$("td:eq(0)").text(); 
$("td").first().text(); 
+0

私はアクセスしていたオブジェクトにJson.stringifyを出力することでそれを確認しました。ありがとう。 –

関連する問題