jquery良好的做法

时间:2011-01-07 10:56:55

标签: jquery

在删除元素之前检查元素是否存在是好的做法还是没有必要? 例如:

if(('#el').length > 0) {
  $('#el').remove();
}

相同
$('#el').remove();

5 个答案:

答案 0 :(得分:2)

我敢说,第一版在功能或性能方面绝对没有增加任何内容。如果你的选择器'选择'0元素,那么jquery将不会删除任何东西。

答案 1 :(得分:2)

所有jQuery选择器都返回一个jQuery对象的集合(可能是空的),因此如果$('#el')(或者更可能是$('.class'))返回了许多对象remove(),则会将它们全部删除。同样,如果您的选择器未返回任何对象,则remove()将不会删除任何对象。

所以没有。没有必要。

答案 2 :(得分:1)

我会说,这没有必要。

特别是在您的示例中,因为在代码运行后两种情况下程序的状态将完全相同,无论代码运行之前的状态如何(删除都是idempotent)。

答案 3 :(得分:0)

这取决于您是否需要该元素。

答案 4 :(得分:0)

我认为它在阅读时更为明确,但这是我能想到的唯一“好处”。看起来根本不值得。但如果您确实要删除元素,那么您可以先检查是否有要删除的元素。