javascript - 替换 JavaScript 中的制表符

标签 javascript jquery tabs space

请考虑以下 HTML

 元素:

This is some  
example code which    
     contains tabs

我想用 HTML 中的四个不间断空格字符(即  )替换所有制表符。我已经使用 JavaScript 测试了上述 pre 元素是否存在制表符,如下所示:

$('pre').ready(function() {
    alert(/\t/.test($(this).text()));
});

但总是返回 false。谁能告诉我将源代码中的制表符空格替换为 HTML NBSP 的正确过程?这些选项卡已由 Komodo Edit 添加,并且在查看源代码时可见。

最佳答案

你可以这样做:

$('pre').html(function() {
    return this.innerHTML.replace(/\t/g, '    ');
});

这将循环遍历页面上的所有 pre 元素并为每个元素调用函数。 jQuery 的 html函数使用我们给出的函数的返回值来替换每个元素的内容。我们使用 String#replace 将 HTML 字符串中的所有制表符(请注意正则表达式上的 g 标志)替换为四个不间断空格。

Live example

关于javascript - 替换 JavaScript 中的制表符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4562756/

相关文章:

javascript - 加载并执行外部脚本后运行 JavaScript 代码

javascript - 测试每个元素是否包含带有 Protractor 的元素

jquery - 在页面中间居中 Div 在第二次显示之前不起作用

javascript - 按键事件和真正的键盘按键有什么区别?

jquery - Twitter bootstrap 显示来自另一个模态的模态

javascript - Ui-Tabs 中的 Google Maps Api v3 map 被剪切

使用 MongoDB "$in"运算符的 Javascript 查询生成器

javascript - 存储 JQuery 变量的最佳方式?

ruby-on-rails - Rails 选项卡分页问题

jquery - 在 JQueryUI 选项卡选择上加载 ASP.NET MVC 部分 View