Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.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与find分离_Jquery_Html - Fatal编程技术网

jquery与find分离

jquery与find分离,jquery,html,Jquery,Html,为什么这不起作用 $rows = $("tbody").detach().find("tr"); 但这是真的吗 $rows = $("tbody").find("tr").detach(); 我认为第二种方法得到了“tr”的集合,并使用了某种类型的。每个。来分离它们。我认为如果有一种方法可以让它工作的话,将整个身体分离一次,然后从中获取tr…?第一个语句在$(“tbody”)上进行去跟踪,第二个语句在表的行上进行去跟踪。$rows实际上具有相同的值,但是,在第一个示例中,DOM中缺少tbod

为什么这不起作用

$rows = $("tbody").detach().find("tr");
但这是真的吗

$rows = $("tbody").find("tr").detach();

我认为第二种方法得到了“tr”的集合,并使用了某种类型的。每个。来分离它们。我认为如果有一种方法可以让它工作的话,将整个身体分离一次,然后从中获取tr…?

第一个语句在$(“tbody”)上进行去跟踪,第二个语句在表的行上进行去跟踪。

$rows
实际上具有相同的值,但是,在第一个示例中,DOM中缺少
tbody
标记,因此需要将其重新添加

还请注意

$rows=$(“tbody”).detach().find(“tr”)(约为100ms以分离和存储阵列中的500个
tr
元素)

其效率明显高于:


$rows=$(“tbody”).find(“tr”).detach()
(大约170ms以分离并在数组中存储500个元素)

这些片段尝试执行不同的操作。您想做什么,分离tbody或tr元件?第一个片段是搜索已经分离的tbody元素,而不是分离表行。我认为第二个代码片段在您的情况下是正确的。因为我正在分离tbody中的所有tr元素,所以在我的情况下它们略有不同,如果需要的话,我总是可以包装一个。无论如何,我的观点是,$行在这两种情况下应该包含相同的值。为什么不呢?当我测试它时,我在两种情况下得到相同的结果。您的标记看起来像什么?
$行的两个版本有何不同?您是否在干净的文档上运行两个版本的代码(而不是在上运行,然后在结果上运行另一个版本)?嗯,好吧,这很奇怪,我使用了$rows.each。我所做的只是在上面的两个语句之间切换,得到了不同的结果。在一组分离的节点上使用
.each()
是否有问题?是的,我知道,但我的问题是为什么$rows的值在每种情况下都不同?