2017-09-25 14 views
0

私は、変化する値のセットを持つサイトをスクリプトしたいと思っています。私は一度にこれらのエントリのうちの1つだけの中でテキスト値を呼び出す方法を理解しようとしています。特定のクラスから値を見つけよう(HTML)

これらのいずれかがこの

<tr ng-repeat="(key, game) in crash.games.slice().reverse()" class="" style=""> 
<td ng-if="::game.crash > 199" class="crashHighResult">RANDOM NUMBER THAT I WANT TO SEE</td> 

trのように見えることができますがtdの親であるとtdの内のテキスト値は、私は私は

問題のみを参照しようとしているものですこの間に20個ものエントリが保存されていて、他のすべてのものと同じクラスと親を持つことができます。唯一の違いは乱数値です。

私はそれらをすべて同時に引っ張って、それらの値で配列を作ることができれば、私がやりたいことをすることができるかもしれないと思っていますが、ちょっと困ります。

私はjavascriptとjqueryの新機能です。これは私の学習体験です。ご協力いただきありがとうございます!

+0

jquery: '$( '。classname')'を使用している場合は、そのクラスのすべての要素を選択することができます。 – tech2017

+0

なので、 'td'の配列を作成しようとしていますか? – Andy

+0

特定のtdの値だけを求めたいのですか、あるいは個々のtdの番号を使って何かしたいのですか? – Confuzing

答えて

1

ネイティブJSのテクニックを理解したい場合は、document.querySelectorAllを使用することをお勧めします。あなたが望む要素(getElementsByClassNamegetElementsByTagName)を得るにはいくつかの方法がありますが、前者の場合とほとんど同じように、forEachで再生されません。

ので、要素つかむために:

let cells = document.querySelectorAll('td'); 

そして、そのノードリストをループする:現時点では

cells.forEach(function (cell) { 
    console.log(cell.textContent); 
}); 

をコードがちょうどコンソールにテキストコンテンツ(あなたの乱数)を記録しますしかし、あなたは今、あなたがそのデータを使ってできることを感じることができます。これはあなたを助け

let rnd = cells[cells.length - 1].textContent; 

希望:

例えば

は、あなたが使用する最後の(?最新)乱数(ノードリストの最後のセル)を取得します。

+0

ああ、あなたは私が必要と思われる機能をいくつか紹介しました。どうもありがとうございました。最も最近のものが、面白いことに底面ではなく上部の表に追加されますが、おかげさしです! – agentzulu

+0

別の簡単な質問...私はconsole.log(document.querySelectorAll( 'td.crashLowResult'))の長さを1つのテーブル(2未満)の長さを見つけるためにいくつかのコードを使用しています。 .textContentを使用すると、コンソールで未定義となります。クラスへの配列の添付ファイルを使用するとエラーが発生します – agentzulu

+0

'querySelectorAll'は配列のようなノードリストを返しますので、' document.querySelectorAll ( 'td.crashLowResult')[0] .textContent'を使用して、最初のセルの内容を取得します。 – Andy

1

値を取得するために表の最初のtr tdを選択する必要がある場合は、すべてのtr td要素を選択し、最初の要素を指定します。それは、DOMをトラバースするよう

$("tr td").first().text();

このセレクタは、すべてのtr td要素を検索し、それは、最初の表の一番上の行を見つけます。 first()関数は、最初に見つかった要素のjqueryオブジェクトを返します。 text()は、tdタグ内にあるテキストを取得します。基本的には、js innertextまたはtextcontentと同じです。

すべての値で処理する場合は、jqueryセレクタeach()を使用できます。

$("tr td").each(function (index , element) {console.log($(element).text())})

これは、すべての要素をループして、コンソールにその値を出力しますが、あなたは、値を合計配列、または任意でそれらを置くために機能を変更することができます。

+0

ありがとうございます。サイドノートでは、最初と最後以外の他のセット位置から引き出すjquery関数がありますか?第2、第3、第4などのように? – agentzulu

+0

クイックグーグルは私に.eq()関数を使用させました。今はすべて設定されています!私は最終的に私のスクリプトを完了することができると思う!あなたの助けをありがとう! – agentzulu

関連する問題