Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
jQuery语法-是否使用多个查找方法?_Jquery - Fatal编程技术网

jQuery语法-是否使用多个查找方法?

jQuery语法-是否使用多个查找方法?,jquery,Jquery,下面的代码克隆了我的表中的最后一行,并清除了跨度中显示的数据。还有一些隐藏的输入(因为它是数据表),所以我的问题是,如何在这段代码中进行另一个查找,即.find(“.getdata input”) var i = 1; $("#addRow").click(function() { $("table tr:last").clone().find(".getdata span").each(function() { $(this).text(''); }).end(

下面的代码克隆了我的表中的最后一行,并清除了跨度中显示的数据。还有一些隐藏的输入(因为它是数据表),所以我的问题是,如何在这段代码中进行另一个查找,即
.find(“.getdata input”)

var i = 1;
$("#addRow").click(function() {
    $("table tr:last").clone().find(".getdata span").each(function() {
        $(this).text('');
    }).end().appendTo("table");
    i++;
});

通过缓存克隆的元素,您可以更好地执行此操作

$("#addRow").click(function() {
    var clone = $("table tr:last").clone();
    $(".getdata span", clone).text("");
    $("input[type=hidden]", clone).val("");
    clone.appendTo("table");
});
并且不需要迭代所有元素来设置其文本/值。Jquery将在引擎盖下为您完成此操作。

您可以将它们链接起来

var i = 1;
$("#addRow").click(function() {
    $("table tr:last").clone().find(".getdata span").each(function() {
        $(this).text('');
    }).end()
    .find(".getdata input").each(function() {
       //do other stuf here
    }).end().appendTo("table");
    i++;
});

忽略变量i-我忘了删除隐藏的输入,您想对这些输入做什么?只需清除它们的数据
.clone().find(“.getdata span,input:hidden”)。每个…
只需使用
分隔符。@ShaunakD然后您需要检查回调中的元素类型,因为
.text()
不适用于
输入
元素