Javascript jquerychild>;家长>;儿童>;子选择器

Javascript jquerychild>;家长>;儿童>;子选择器,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要以下代码的帮助: Html: <table> <tr class="oc"> <td class="process">process</td> <td><input name="data" /></td> </tr> <tr class="oc"> <td class="process">process</td> <td&g

我需要以下代码的帮助:

Html:

<table>
 <tr class="oc">
   <td class="process">process</td>
   <td><input name="data" /></td>
 </tr>
 <tr class="oc">
   <td class="process">process</td>
   <td><input name="data" /></td>
 </tr>
</table>
var v = $(this).parent().children(":eq(2)").children().val()*1;
var v = $(this).parent().children.children("input[name=data]").val()*1;
var v = $(this).parent().find("input[name=data]").val()*1;
var v = $(this).parent().children(":eq(2)").children().val()*1;
发生的情况是,每次单击td[class=process],我都会得到input[name=data]+当前值input[name=data]


我也不知道为什么。非常感谢您的帮助。

使用jquery非常简单

$('.process').click(function(e)
{
    var myData = $(this).next().children().val();
});

使用jquery非常简单

$('.process').click(function(e)
{
    var myData = $(this).next().children().val();
});

您的第三个变体已经起作用了

var v = $(this).parent().find("input[name=data]").val()*1;
您的第二种方法是不正确的,因为
子类
是一个函数

你的第一次和第四次接近(除非我是盲人)是一样的。但是,由于
:eq()
是零索引的;您选择的
实际上是位置
1
,而不是
2
。你可以看到这是可行的


您可能还想了解一下
next()
,这可能会使这一点更容易

var v = $(this).next().children().val() * 1;

请参阅和。

您的第三个变体已经可以使用了

var v = $(this).parent().find("input[name=data]").val()*1;
您的第二种方法是不正确的,因为
子类
是一个函数

你的第一次和第四次接近(除非我是盲人)是一样的。但是,由于
:eq()
是零索引的;您选择的
实际上是位置
1
,而不是
2
。你可以看到这是可行的


您可能还想了解一下
next()
,这可能会使这一点更容易

var v = $(this).next().children().val() * 1;
请参阅和。

您可以使用以下一列为目标,然后或访问其中的输入

$("td.process").click(function(){
  var v = $(this).next("td").find("input[name='data']").val();
})
您可以使用以下一列为目标,然后使用或访问其中的输入

$("td.process").click(function(){
  var v = $(this).next("td").find("input[name='data']").val();
})

$(this).next().find('input[name=data]')。val()
不要使用乘法运算符将值转换为数字。这不是一个好的做法。使用
parseFloat(number)
parseInt(number,10)
$(this).next().find('input[name=data]')。val()
不要使用乘法运算符将值转换为数字。这不是一个好的做法。使用
parseFloat(number)
parseInt(number,10)
。非常感谢。我在别的地方搞砸了。非常感谢。我在别的地方搞砸了。