【问题标题】:Trim extra space with javascript用javascript修剪多余的空间
【发布时间】:2012-08-26 09:40:29
【问题描述】:

我正在使用 PHP tidy,它会自动缩进标记,添加制表符和空格。请看看这个。

http://jsfiddle.net/njh85/

我有 2 个问题:

  • 如何从选定的选项中删除这些多余的空格(原因是 PHP 整洁的库:为缩进标记添加了额外的空间。但我无法将其关闭,所以我正在搜索一些 JS 解决方案来修剪文本)李>

  • 如何让“Select one”充当 HTML5 占位符?

【问题讨论】:

标签: javascript jquery jquery-ui combobox jquery-ui-autocomplete


【解决方案1】:

您收到空格是因为您的选项文本在 HTML 中的单独一行上,带有缩进。您可以先删除它们:

$("#users option").text(function(i, text) {
    return $.trim(text);
});

至于占位符,用.attr("placeholder", ...)代替.val(...)

input = $( "<input>" )
    .appendTo( wrapper )
    .attr( "placeholder", value )

http://jsfiddle.net/njh85/6/

【讨论】:

  • 不知道为什么:trim 可以在 JSfiddle 上工作,但不能在我的页面上使用相同的代码。有什么问题?
  • @epic_syntax:控制台有错误吗?可能需要改用jQuery.trim
  • 没有。我发现问题:必须是 value = $.trim(selected.val() ? selected.text() : ""),第 12 行
【解决方案2】:

使用$.trim 怎么样:

FIDDLE

【讨论】:

  • 选择一些不同的选项,修剪在第二次选择时不起作用
  • 您必须对所有输入值使用修剪,而且您的代码非常广泛,我可以通过查找插入数据并用修剪包装的所有实例,您可以自己做吗?
  • 这不是解决方案。我的 JS 知识不够好,这就是我发布问题的原因
  • 非常非常感谢。第二个问题呢?
【解决方案3】:

从 JavaScript 1.8.1 (ES5) 开始,您可以使用普通的string.trim()

var orig = "   foo  ";
alert( orig.trim() );

// "foo"

【讨论】:

    【解决方案4】:

    【讨论】:

    • @EliranM。他在他的问题中使用 jquery
    【解决方案5】:

    修剪字符串的左右空格

    string.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    

    关于占位符,可以试试jQuery-Placeholder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 2020-02-11
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多