【问题标题】:What's the replacement for the .value variable in javascript?javascript 中 .value 变量的替代品是什么?
【发布时间】:2009-07-16 20:51:03
【问题描述】:

我正在编写一个页面,我需要在其中获取 select 标记中所选选项的 value 属性。

我通常这样做的方式是这样的: onchange="changeCurrentWebsite(this.options[this.selectedIndex].value)

但是,每次我在 Javascript 中使用“.value”时,我的 IDE(Intellij) 都会抱怨该符号已被弃用...有人知道正确的做法吗?

【问题讨论】:

    标签: javascript html browser


    【解决方案1】:

    Intellij 不正确。 “价值”是完全有效的。

    查看 W3C 文档:

    http://www.w3.org/TR/html401/interact/forms.html#h-17.6

    【讨论】:

      【解决方案2】:

      代替

      this.options[this.selectedIndex].value
      

      不能只使用元素的“值”属性吗? 像这样:

      document.getElementById('ID_OF_SELECT').value
      

      或者,在你的情况下:

      changeCurrentWebsite(this.value)
      

      你的 IDE 是否说它也被弃用了?

      【讨论】:

      • changeCurrentWebsite(this.value) 有效,不,我的 IDE 不会抱怨!我喜欢它,比 this.options[this.selectedIndex].value 好看多了。谢谢!
      • 不客气 :-)(更好看...而且打字和阅读更短——这是一件好事^^)
      • 其实'select'标签没有value属性。您必须找到“已选择”选项并使用其 value 属性。
      • 嗬,看来你是对的,如果我看一下规格:-((奇怪的是,当我尝试将它与 firebug 一起使用时,它就在那里......但因为它不在规格中, 不应该使用 :-( )
      • @Pascal: this.value 适用于所有现代浏览器和 IE6。您无需通过options 就可以很好地读取和写入它。事实上,mySelect.value = 'foo' 比手动迭代选项寻找匹配的option.value 并设置selectedIndex 快几个数量级。
      猜你喜欢
      • 2011-12-08
      • 2019-02-22
      • 2011-05-07
      • 2012-04-24
      • 2019-12-03
      • 2010-09-17
      • 2012-03-27
      • 2012-09-30
      • 2010-10-20
      相关资源
      最近更新 更多