OLD回答: はい、できます。しかし、td
はvalを使用していないので意味がありません。
.val()メソッドは、主にinput、select、textareaなどのフォーム要素 の値を取得するために使用されます。 コレクションの最初の要素が選択マルチプル(つまり、複数の属性セットが の選択要素)の場合、選択された各オプションの値が の配列を返します。オプションが選択されていない場合はnullを返します。空のコレクションに と呼ばれると、undefinedを返します。
以下は、text()
が最初に使用され、次にval()
が使用されるスニペットです。しかしval()
は何にも影響しません。
更新:新しいHTMLでは、P
とinput
を設定できます。
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>
'valが()' td'要素が '[値]プロパティを持たない'として必要とされません。 – Satpal
はい、どちらも意味が異なります。 .val()はHTML属性の "値"です .text()はinnerHTML用です(.html()と似ています) –
試してみてください。$(this) val(date [0]); '(type) ';}';}}; –