[jquery] jquery find class and get the value

I am trying to get the value of an input text field.

the HTML is:

<div id="start">
    <p>
        <input type="text" class="myClass" value="my value" name="mytext"/>
    </p>
</div>

The jquery is:

var myVar = $("#start").find('.myClass').val();

The problem is that myVar is coming up undefined. Does anyone know why?

This question is related to jquery jquery-selectors

The answer is


var myVar = $("#start").find('myClass').val();

needs to be

var myVar = $("#start").find('.myClass').val();

Remember the CSS selector rules require "." if selecting by class name. The absence of "." is interpreted to mean searching for <myclass></myclass>.


var myVar = $("#start").find('.myClass').first().val();

You can get value of id,name or value in this way. class name my_class

 var id_value = $('.my_class').$(this).attr('id'); //get id value
 var name_value = $('.my_class').$(this).attr('name'); //get name value
 var value = $('.my_class').$(this).attr('value'); //get value any input or tag

You can also get the value by the following way

$(document).ready(function(){
  $("#start").click(function(){
    alert($(this).find("input[class='myClass']").val());
  });
});