2017-09-14 89 views
1

我试图返回属性“值”的每个索引的HTML,根据jQuery DOM Manipulation Documentation我应该能够使用.val()为了返回这个,但是当我打印到控制台,我得到一个空白值。使用.html()我可以返回清楚地显示值在那里的HTML部分。所以,我的问题是:jQuery .val()测试返回空白

我如何获得值属性作为一个真正的值与空白。

请看我Fiddle

的Javascript

$("table#Table tr").each(function(i) { 
    $("td", this).each(function(j) { 
    var test = $(this).val() 
    console.log("".concat("row: ", i, ", col: ", j, ", value: ", test)); 
    }); 
}); 
+0

一个'td'没有'value'。 –

+3

这是没有理由让他失望,他在这里学习,问题是适当的。 –

回答

2

值不是没有它的TD元素和TD的有效属性。你需要找到在TD输入元素,然后拿到value.something这样的:

$("td input", this).each(function(j) { 
    var test = $(this).val() 
    console.log("".concat("row: ", i, ", col: ", j, ", value: ", test)); 
}); 

Working Demo

+0

太棒了,我没有意识到,仍然在学习元素及其属性。 –

+0

@TylerCowan:很高兴它有帮助:) –

2

<td>元素没有值。但是他们内部的投入呢。它看起来像你只需要使用"td input"的选择,而不是仅仅"td"

$("td input", this).each(function(j) { 
    //... 
}); 

Updated fiddle

+0

'this'在这里做什么? – mrid

+2

@mrid:它将上下文添加到选择器。因此,选择器正在寻找''td input''匹配,但仅*在'this'的上下文中。在这种情况下,'this'应该是在前一行迭代的'tr'元素。 – David