在删除元素之前检查元素是否存在是好的做法还是没有必要? 例如:
if(('#el').length > 0) {
$('#el').remove();
}
与
相同$('#el').remove();
答案 0 :(得分:2)
我敢说,第一版在功能或性能方面绝对没有增加任何内容。如果你的选择器'选择'0元素,那么jquery将不会删除任何东西。
答案 1 :(得分:2)
所有jQuery选择器都返回一个jQuery对象的集合(可能是空的),因此如果$('#el')
(或者更可能是$('.class')
)返回了许多对象remove()
,则会将它们全部删除。同样,如果您的选择器未返回任何对象,则remove()
将不会删除任何对象。
所以没有。没有必要。
答案 2 :(得分:1)
我会说否,这没有必要。
特别是在您的示例中,因为在代码运行后两种情况下程序的状态将完全相同,无论代码运行之前的状态如何(删除都是idempotent)。
答案 3 :(得分:0)
这取决于您是否需要该元素。
答案 4 :(得分:0)
我认为它在阅读时更为明确,但这是我能想到的唯一“好处”。看起来根本不值得。但如果您确实要删除元素,那么您可以先检查是否有要删除的元素。