如何使用 jquery 获取以前的 td 子属性值?我在使用我的代码时变得不确定,你能建议或找出我的代码中的错误吗。
这是我的代码,我正在尝试从当前 td 输入中获取前一个 td child 的属性,请参阅下面的内容并向我建议解决方案。
HTML
<html>
<head><title>I am a beginner</title></head>
<body>
<table><thead/><tbody>
<td><input name="1sttextbox" type="text" value="10/22/2015" id="1"/></td>
<td><input name="2ndtextbox" type="text" value="10/23/2015" id="2"/></td>
<td><input name="3rdtextbox" type="text" value="10/21/2015" id="3"/></td>
</tr></tbody>
</table>
</body>
</html>
Jquery
$(function() {
var input=$("input[type='text']");
input.blur(function() {
var val1=$(this).val();
var val2 = $(this).closest('td').prev('td input').attr('value');
alert(val1);
alert(val2);
return false;
});
最佳答案
您可以对 prev 返回的结果使用 find
,而不是在 prev 中使用后代选择器语法。您的代码也没有关闭 }) 用于模糊处理程序。
var val2 = $(this).closest('td').prev('td').find('input').attr('value');
当您将元素绑定(bind)到所有输入时,第一个输入不会有上一个输入,因此您也需要注意这一点。
要检查您是否获得了 prev 元素,您可以使用 type of 来识别您是否获得了未定义元素。
console.log(typeof val2 == 'undefined' ? 'no previous element' : val2);
关于javascript - 如何使用 jquery 获取以前的标签 (td) 子属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149980/