2013-10-10 2 views
0

ЕслиJquery значение текстового поля является пустым

alert($(TheButton).parent().parent().children("td").html()); 

возвращает

<input id="Quantity" name="Quantity" 
style="width: 35px; 
background-color: rgb(254, 254, 254);" type="text" value="1"> 

почему

alert($(TheButton).parent().parent().children("td").val()); 

вернуть пустую строку?

+1

Параметр '.parent(). Родитель(). Детей («тд»)' кажется слишком жёстко .. если вы разместите HTML, я уверен, что мы можем улучшить этот выбор .. –

+0

Спасибо за предложение ! Очень тебя. – Pinch

ответ

4

Потому что td элементы не имеют значений.

Когда вы звоните .children('td'), то, что вы получаете, является списком td элементов. Когда вы вызываете .html(), то, что вы получаете, это HTML внутри элемент. В этом случае HTML является элементом input. Но .html() не понимает, что он просто возвращает то, что есть.

В этом случае, когда вы звоните .children('td').val(), вы вызываете .val() на td элементах, которые не имеют значений. Может быть, вы решили выбрать элемент input?

alert($(TheButton).parent().parent().children("td").find("input").val()); 
+0

Вы правы и спасибо! - эта тревога вытащила контекст за глаза овец. – Pinch

Смежные вопросы