2016-07-21 5 views
0

これはJQUERYの1つのライナーコードで可能ですか?これはJQUERYでも可能ですか? val()とtext()

<table> 
    <tr> 
    <!-- Ex. this is the td:nth-child(10) --> 
    <td> 
     <input type="hidden" value=""/> 
     <p> </p> 
    </td> 
    </tr> 
</table> 

// I'd like to ouput a same value in td 10th cell in one liner code.. 
$(this).children('td:nth-child(10)').text(data[0]).val(date[0]); 

任意のヘルプのおかげ?

+1

'valが()' td'要素が '[値]プロパティを持たない'として必要とされません。 – Satpal

+0

はい、どちらも意味が異なります。 .val()はHTML属性の "値"です .text()はinnerHTML用です(.html()と似ています) –

+1

試してみてください。$(this) val(date [0]); '(type) ';}';}}; –

答えて

1

OLD回答: はい、できます。しかし、tdvalを使用していないので意味がありません。

.val()メソッドは、主にinput、select、textareaなどのフォーム要素 の値を取得するために使用されます。 コレクションの最初の要素が選択マルチプル(つまり、複数の属性セットが の選択要素)の場合、選択された各オプションの値が の配列を返します。オプションが選択されていない場合はnullを返します。空のコレクションに と呼ばれると、undefinedを返します。

以下は、text()が最初に使用され、次にval()が使用されるスニペットです。しかしval()は何にも影響しません。

更新:新しいHTMLでは、Pinputを設定できます。

changeIt = function(){ 
 
    $('td:nth-child(2) p').text('foo').closest('td').find('input').val('bar'); 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td> 
 
     <input type="hidden" value="inital1"/> 
 
     <p>1</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital2"/> 
 
     <p>2</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital3"/> 
 
     <p>3</p> 
 
    </td> 
 
    <td> 
 
     <input type="hidden" value="inital4"/> 
 
     <p>4</p> 
 
    </td> 
 
    </tr> 
 
</table> 
 

 
<button onclick="changeIt()">Click two change 2</button>

+0

入力中に質問が変更されました...隠された入力が表示されませんでした。答えが変わります。 – smoksnes

+0

こんにちは、ありがとう、この隠された入力は、ボタンがクリックすると消えていないですか?ありがとう – user3751286

+0

いいえ、 'td'全体をリセットするのではなく、' p'に 'text'を設定しているので、入力がクリック後に消えません。 – smoksnes

関連する問題