Javascript 如何获取<;的不受信任文本值;选项>;元素?

Javascript 如何获取<;的不受信任文本值;选项>;元素?,javascript,internet-explorer,dom,text,Javascript,Internet Explorer,Dom,Text,我的HTML输出与此类似: <select> <option value="1">Item1 </option> </select> 项目1 如何使用JavaScript获取值“Item1”(带空格)而不是“Item1” 在Internet Explorer中,我尝试过的所有属性,例如文本、innerHTML、数据、节点值返回“Item1”而不是“Item1” 有趣的是,在Firefox中,textContent和innerHTML返回的是不

我的HTML输出与此类似:

<select>
<option value="1">Item1 </option>
</select>

项目1
如何使用JavaScript获取值“Item1”(带空格)而不是“Item1”

在Internet Explorer中,我尝试过的所有属性,例如文本、innerHTML、数据、节点值返回“Item1”而不是“Item1”


有趣的是,在Firefox中,textContent和innerHTML返回的是不受信任的值,而text返回的是被截断的值。

对不起,IE的解析器确实在其中丢弃了尾随空格。奇怪的是,如果给innerHTML分配一个带有尾随空格的字符串,IE会设法记住其中一个。也许最好不要依赖


通常情况下,如果您希望看到尾随空格(在任何浏览器中),则必须使用不间断空格字符(例如 ;字符引用)。

您不应依赖于按字面解释的间距。也许您的输出应该呈现为:
Item1


附言:它说HTML在代码块中被忽略,但我的实体在这里被转义。(降价)

真烦人。我们曾试图避免截断/修剪系统中的数据,但这意味着我们必须重新考虑该方法。当然,实际数据应该在“值”属性中,“文本”内容只是为了显示。这一点很好,尽管在这种特殊情况下说起来容易做起来难!为了扩展这个概念,option元素的文本从来没有打算用作数据——这就是value属性的用途。如果你把文本用于任何逻辑,那么你可能以错误的方式使用了value属性。