Ответ 1
Селектора классов имеют префикс с точкой. Ваш .find()
отсутствует, поэтому jQuery считает, что вы ищете элементы <myClass>
.
var myVar = $("#start").find('.myClass').val();
Я пытаюсь получить значение входного текстового поля.
HTML:
<div id="start">
<p>
<input type="text" class="myClass" value="my value" name="mytext"/>
</p>
</div>
jquery:
var myVar = $("#start").find('.myClass').val();
Проблема в том, что myVar подходит undefined. Кто-нибудь знает, почему?
Селектора классов имеют префикс с точкой. Ваш .find()
отсутствует, поэтому jQuery считает, что вы ищете элементы <myClass>
.
var myVar = $("#start").find('.myClass').val();
var myVar = $("#start").find('.myClass').first().val();
var myVar = $("#start").find('myClass').val();
должно быть
var myVar = $("#start").find('.myClass').val();
Помните, что правила выбора CSS требуют "." если выбрать по имени класса. Отсутствие "." интерпретируется как означающий поиск <myclass></myclass>
.
Таким образом вы можете получить значение id, name или value. имя класса 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
Вы также можете получить значение следующим образом
$(document).ready(function(){
$("#start").click(function(){
alert($(this).find("input[class='myClass']").val());
});
});