【问题标题】:What is the difference between $('#selectID').find(':selected').val() and $('#selectID').val() for non-multi select elements?非多选元素的 $('#selectID').find(':selected').val() 和 $('#selectID').val() 有什么区别?
【发布时间】:2014-03-04 20:23:47
【问题描述】:

当使用具有许多选项的 select 元素 (multiple=false) 时,在 jQuery 中执行以下操作有什么区别(功能、速度等):

$('#selectID').find(':selected').val()

$('#selectID').val()

【问题讨论】:

  • 你有什么 DOM?
  • @hjpotter92 不太清楚你的意思。各种浏览器上的 HTML5。我澄清了这个问题与 jQuery 有关。
  • 我建议在 jsperf 上运行一个测试,但我真的怀疑是否会有足够的差异让您有理由选择一个而不是另一个,而不是您喜欢输入和查看的内容。
  • @Archer 感谢您将我指向jsperf;速度上好像差别不大。
  • @queuebit 由于您使用selectID 作为 ID 属性,我假设它在您的页面上是唯一的。如果它是独一无二的; .val() 可以正常工作。

标签: jquery


【解决方案1】:

对于带有multiple=false<select> 元素,似乎没有功能差异。

jsPerf 显示的 .val() to be much faster 比其他发现的多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    相关资源
    最近更新 更多