gpt4 book ai didi

jquery - 哪种方法来测试元素是否被检查更好? .is (':checked' ) 或 .prop ('checked' )

转载 作者:行者123 更新时间:2023-12-03 22:31:49 25 4
gpt4 key购买 nike

.is(':checked').prop('checked') 都可以用来测试复选框是否被选中。

这两种查询已检查状态的方式之间是否有任何有趣/重要的区别,或者这只是个人喜好的问题?

最佳答案

他们最终都检查了同样的事情。

如果您使用的是 1.6.0 或更高版本,prop('checked') 是最直接的 jQuery 方法。 jQuery 不必解析和处理选择器来确定要做什么。[下面的注释]

您还可以(从 1.6.1 开始)像 1.5.x 及更早版本一样再次使用 attr('checked')

或者您可以直接转到该元素。假设 x 是要测试的内容,如果您知道至少有一个元素匹配,那么:

if (x[0].checked) { /* ... */ }

如果您不确定并想对冲您的赌注:

if (x[0] && x[0].checked) { /* ... */ }

但是,除非您处于非常的循环中,否则请使用您认为最容易阅读的内容,因为性能差异并不重要。我发现最后一个很容易阅读,而且我知道它们非常快,所以我使用它们。但如果你觉得它们很尴尬,那就用你最喜欢的任何东西。如果您喜欢它并且没有看到它对性能的实际影响,那么使用 is(':checked') 并没有什么坏处(除非出现某种紧密循环,否则不太可能)。

<小时/>

注意:propis 更直接的程度因浏览器而异。 prop 不仅仅是对属性的直接检查,它首先会经过几个间接级别;并且 is 不一定非常复杂:例如,在 WebKit 浏览器上,is 可以相当直接,因为 WebKit 提供了一个函数来测试元素是否与选择器匹配,并且原生支持 :checked ;在 Firefox(我怀疑还有 IE)上,is 会导致大量的函数调用,因为这个看似简单的选择器在 Sizzle 的内部运行。

关于jquery - 哪种方法来测试元素是否被检查更好? .is (':checked' ) 或 .prop ('checked' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6340294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com