【问题标题】:How can I get the untruncated text value of an <OPTION> element?如何获取 <OPTION> 元素的未截断文本值?
【发布时间】:2010-10-04 21:58:14
【问题描述】:

我有类似这样的 HTML 输出:

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

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

在 Internet Explorer 中我尝试过的所有属性,例如textinnerHTMLdatanodeValue 返回“Item1”而不是“Item1”。

有趣的是,在 Firefox 中,textContentinnerHTML 返回未截断的值,而 text 返回截断的值。

【问题讨论】:

    标签: javascript internet-explorer dom text


    【解决方案1】:

    抱歉,IE 的解析器确实丢弃了

    通常,如果您想要可见的尾随空格(在任何浏览器中),您必须使用不间断空格字符(例如   字符引用)。

    【讨论】:

    • 这很烦人。我们曾试图避免截断/修剪系统中的数据,但这意味着我们必须重新考虑这种方法。
    • 那么实际的 data 当然应该在 'value' 属性中 - 'text' 内容仅供展示。
    • 好点,虽然在这种特殊情况下说起来容易做起来难!
    【解决方案2】:

    您永远不应该依赖按字面解释的间距。也许您的输出应该呈现为:&lt;option value="1"&gt;Item1&amp;nbsp;&lt;/option&gt;

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

    【讨论】:

    • 为了扩展这个概念,选项元素的文本从来不打算用作数据——这就是 value 属性的用途。看起来,如果您将文本用于任何逻辑,那么您可能以不正确的方式使用 value 属性。
    • 我同意,非常简洁。
    猜你喜欢
    • 2021-01-23
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多