views:

841

answers:

3

I think the question says it all. Where would you use one over the other?

Thanks!

A: 

I believe they are different functions. Some elements can have a value with a different text attribute.

Joe Philllips
+10  A: 

Val() works on input elements (or any element with a value attribute?) and text() will not work on input elements. Val() gets the value of the input element -- regardless of type. Text() gets the innerText (not HTML) of all the matched elements:

text()

The result is a string that contains the combined text contents of all matched elements. This method works on both HTML and XML documents. Cannot be used on input elements. For input field text use the val attribute.

val()

Get the content of the value attribute of the first matched element

tvanfosson
A: 

text() return the combined text contents of all matched elements (such as p, div, and so on) val() is used to obtain the value of an input element (such as input, select, and so on)

according to the official documentation text() should not be used with input elements