是一段代码,用于在点击div时向表中添加数据:
$(document).on("click", "div#pos_product_id_<?php echo $row['id']; ?>", function() {
$("table#pos_till_products_list").each(function() {
searchRow = $(this).find("tr#product_id_<?php echo $row['id']; ?>").html();
if (searchRow == null) {
$("#pos_till_products_list tbody:first").prepend("<?php echo $product_build; ?>");
} else {
var qty = $(this).find("tr#product_id_<?php echo $row['id']; ?> .qty").html();
qty++;
$("tr#product_id_<?php echo $row['id']; ?> .qty").html(qty);
}
});
});
我是使用JS / jQuery的新手,但正如您所看到的,我已经在ID的前面添加了HTML元素。我想知道如果通过添加HTML元素,它会使jQuery执行得更快吗?我认为,因为添加元素名称会阻止jQuery搜索页面上的所有其他HTML元素ID,并且只定位您要求它选择的HTML元素。
答案 0 :(得分:0)
实际上,不同框架处理选择器的方式确实会影响速度,但影响通常会相当小。看看SlickSpeed,看看一系列精选的选择器测试的基准比较,从$(&#34; body&#34;)到$(&#34; div:nth-child(n)& #34;)在许多不同的框架上。在大多数情况下,差异只有一两毫秒,但这是一个有趣的思想实验。