Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery引用html输入元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuery引用html输入元素

Javascript 使用jQuery引用html输入元素,javascript,jquery,html,Javascript,Jquery,Html,我有以下(重复)html: 一些文本 另外,如何检索第一个td元素的文本 非常感谢您帮助我实现这一目标。 Michael您可以使用从a进入td,然后进入以下td,然后进入input元素: $("a").click(function() { var value = $(this).parent().next().find("input").val(); }); 这是一个例子 要从第一个td获取文本,您可以采取几乎相同的方法,但使用而不是next 此外,由于您多次重复HTML代码段,因

我有以下(重复)html:


一些文本

另外,如何检索第一个td元素的文本

非常感谢您帮助我实现这一目标。
Michael

您可以使用从
a
进入
td
,然后进入以下
td
,然后进入
input
元素:

$("a").click(function() {
    var value = $(this).parent().next().find("input").val();
});
这是一个例子

要从第一个
td
获取文本,您可以采取几乎相同的方法,但使用而不是
next

此外,由于您多次重复HTML代码段,因此将
click
事件处理程序绑定到DOM树的更高层可能会更有效(可能您已经绑定了,您还没有发布任何JS,所以我不知道):

您可以使用从
a
进入
td
,然后进入以下
td
,然后进入
input
元素:

$("a").click(function() {
    var value = $(this).parent().next().find("input").val();
});
这是一个例子

要从第一个
td
获取文本,您可以采取几乎相同的方法,但使用而不是
next

此外,由于您多次重复HTML代码段,因此将
click
事件处理程序绑定到DOM树的更高层可能会更有效(可能您已经绑定了,您还没有发布任何JS,所以我不知道):


我处理这些事情的通常方法是使用返回到某个普通容器,然后返回:

​$('a').click(function() {
    var $input = $(this).closest('tr').find('input');
    // Do something with $input.val()
});​
演示:


最近的
/
查找
方法可以很好地抵抗DOM结构的变化,因此您不必担心在HTML中移动内容。

我通常的方法是使用返回到某个公共容器,然后返回:

​$('a').click(function() {
    var $input = $(this).closest('tr').find('input');
    // Do something with $input.val()
});​
演示:


最近的
/
查找
方法可以很好地抵抗DOM结构的变化,因此您不必担心在HTML中移动内容。

它将为您提供输入值

$(document).ready(function(e) {
    $('.myAnchor').click(function(e){
    var parentNode = $(this).parent();
    var valueOfInput = $(parentNode).next().children('input').val();
            alert(valueOfInput);
});
});
html:


一些文本

它将为您提供输入值

$(document).ready(function(e) {
    $('.myAnchor').click(function(e){
    var parentNode = $(this).parent();
    var valueOfInput = $(parentNode).next().children('input').val();
            alert(valueOfInput);
});
});
html:


一些文本

为什么要获取标记名
?您已经有一个包含所需元素的jQuery对象。另外,您不应该使用
attr
来获取值。改为使用
val
。感谢您更正我的标记名。。我只是检查我是否得到了正确的标签,让我来编辑它没有问题。现在更好了,但是没有必要将
parentNode
传递到jQuery中,因为它已经是一个jQuery对象了。您只需执行
parentNode.next()
。为什么要获得
标记名
?您已经有一个包含所需元素的jQuery对象。另外,您不应该使用
attr
来获取值。改为使用
val
。感谢您更正我的标记名。。我只是检查我是否得到了正确的标签,让我来编辑它没有问题。现在更好了,但是没有必要将
parentNode
传递到jQuery中,因为它已经是一个jQuery对象了。您只需执行
parentNode.next()
。非常感谢。有道理。令人沮丧的是,如此简单的事情竟然会成为这样一个问题。:-)DOM树中较高的绑定是我想知道的另一件事,所以这很好。@MichaelFrey-没问题,很高兴我能提供帮助:)表代码打破了我所有的jQuery代码。此外,我如何使用$(this)来引用“a”元素,因为我假设它现在引用的是表。@MichaelFrey-否,
this
将引用已单击的
a
元素。您是否使用jQuery 1.7或更高版本?在1.7中增加了
方法上的
。如果您使用的是旧版本,请改为查看
delegate
,这将实现同样的效果。是的,我使用的是旧版本。我更新后现在可以用了。非常感谢。有道理。令人沮丧的是,如此简单的事情竟然会成为这样一个问题。:-)DOM树中较高的绑定是我想知道的另一件事,所以这很好。@MichaelFrey-没问题,很高兴我能提供帮助:)表代码打破了我所有的jQuery代码。此外,我如何使用$(this)来引用“a”元素,因为我假设它现在引用的是表。@MichaelFrey-否,
this
将引用已单击的
a
元素。您是否使用jQuery 1.7或更高版本?在1.7中增加了
方法上的
。如果您使用的是旧版本,请改为查看
delegate
,这将实现同样的效果。是的,我使用的是旧版本。在我更新它之后,它现在可以工作了。