$ element.click vs $('element')。点击

时间:2017-07-13 11:24:32

标签: javascript jquery

我正在尝试优化我的部分代码,我想知道我应该使用以下哪一项以及为什么,一方面有什么好处呢?

$('element').click(function() { /* do something */ })

let $element = $('element')
$element.click(function() { /* do something */ })

3 个答案:

答案 0 :(得分:3)

它们之间的唯一区别在于,在第二个中,您有一个变量,它具有对jQuery对象的引用,您可以重用它。如果你想重复使用它,你只需要它,例如:

How can i run the both cmake commands from a single recipe file.

Thank You,

重复上面的let $element = $("element"); $element.click(function() { /* ... */ }); if (someCondition) { $element.addClass("whatever"); } else { $element.find("some-child").remove(); } // ... 部分会更加打字,并且需要反复查找DOM中的元素并重复创建新的jQuery对象,这比重用相同的对象。

有时您不需要变量,因为jQuery的API是为链接而设计的。 (这就是为什么我投入上面的$("element"),所以我可以做if等。)

答案 1 :(得分:1)

这主要取决于一个问题 - 我会再次使用那个选择器吗?

如果答案是肯定的,那么是,定义要使用的变量并将其用于.on函数和其他任何地方,如果它只有一次,那么它使用更多的字符来定义它然后使用它只是使用它。但是没有太大的区别(除非你选择方法1并重复使用选择器)

答案 2 :(得分:-1)

如果元素被引用一次或两次意味着 option1 更好。 但是如果元素被多次引用意味着选项2 更好,因为即使它被多次引用,你只潜入dom一次,它将提高性能和良好的编码实践