2016-06-27 3 views

答えて

3

nth:childセレクタを使用してください。

セレクタは、そのnumeric position子供のシリーズのパターン+ Bに一致child elementsの数と一致します。

.abc td:nth-child(4) input =>.abc要素の4th td childからinput要素を選択します。

var elems = document.querySelectorAll('.abc td:nth-child(4) input'); 
 
[].forEach.call(elems, function(elem) { //To iterate selected elements! 
 
    elem.addEventListener('click', function() { 
 
    console.log('Clicked'); 
 
    }); 
 
});
<table> 
 
    <tr class='abc'> 
 
    <td>One</td> 
 
    <td>Two</td> 
 
    <td>Three</td> 
 
    <td> 
 
     <input>And some text(Not clickable) 
 
    </td> 
 
    <td>Five</td> 
 
    </tr> 
 
    <tr class='abc'> 
 
    <td>One</td> 
 
    <td>Two</td> 
 
    <td>Three</td> 
 
    <td> 
 
     <input>And some text(Not clickable) 
 
    </td> 
 
    <td>Five</td> 
 
    </tr> 
 
</table>

注:コメントで述べたように、私はjQueryのを使用することを好むBrowser compatibility

+0

また、Internet Explorer 8(およびそれ以前のバージョン)ではこれが機能しないことに注意してください。 – kazenorin

+0

申し訳ありません。私は完全ではないと頼む。私たちはjqueryを使うことができます。入力タグは最初から表示されません。イベントJavaScriptの後にのみ表示されます。私に何ができる? – sfblap

+0

@sfblap、最初からページには何がありますか? 'テーブル'? – Rayon

1

を検討してください。あなたはjQueryのを使用できる場合

$("tr.abc").on("click", "td:eq(3) input", function(){ 
    console.log("click the fourth td") 
}) 
1

、あなたはnth-child()セレクタを使用して試すことができます。

構文:

$('.className element:nth-child(x)').whatever()... 

あなたの場合:

$('tr.abc td:nth-child(4)').whatever()... 
+0

質問にjQueryというタグは付けられていませんが、 .abc:nth-​​child(4) ''はクラス 'abc'を持ち、それも第4番目の子要素を探します。 OPが望むものではない。 – nnnnnn

+0

@nnnnnnエラーを指摘してくれてありがとう。私はOPが彼に利用可能であると言って以来、jQueryを提案しました。おそらくそれは質問タグに追加することができます – Coderchu

1

$("tr li:nth-child(4)")はjqueryののドキュメントTOT行ってくださいより多くの助けのための答えだろう。 https://api.jquery.com/nth-child-selector/ この回答をお寄せください。

+1

質問は "jquery"とタグ付けされていません。この1つの機能を実装するためにOPにライブラリ全体を含めるべきであることを示唆していますか? – nnnnnn

1

私はあなたのクラスが一つだけなので、私はあなたが第四子がそうあなたのinputは一つだけインデックス0

var g = document.getElementsByClassName("abc")[0];   
g.children[3].children[0].onclick = function(){ 
     alert('clicked'); 
} 

などがあり、その後、インデックス3つのJSアレイ標準で呼び出したい0 index.Andで呼び出しを持っていると仮定あなたの要素が複数の場合は、forループを繰り返すことができます...

関連する問題