【问题标题】:how to get a div values and split it to array in javascript如何获取div值并将其拆分为javascript中的数组
【发布时间】:2012-06-15 15:59:55
【问题描述】:

有一个 div 有一些像这样的值:

<div id="links">
<link1>||<link2>||<link3>
</div>

我知道在javascript中我们可以用str.split("||");创建一个字符串数组,但我的问题是在这种情况下由于某些原因我无法定义变量,我只需要像var一样获取div块的值,但我不知道怎么做,我需要像上面这样的块:

var str = '<link1>||<link2>||<link3>';

【问题讨论】:

  • 你想要一个字符串还是字符串数组?
  • 首先我需要一个字符串,然后我需要创建一个数组!所以最后我需要数组。

标签: javascript html arrays dom


【解决方案1】:

从您的 div 中获取 innerHTML,然后通过删除字符串开头和结尾的空格来修剪它:

var str = document.getElementById('links').innerHTML.
            replace(/^\s*/, '').replace(/\s*$/, '');

那么你可以继续做:

var arr = str.split("||");

【讨论】:

  • 非常感谢所有同性恋者,它成功了!但我还需要删除最后一个 ||因为我的链接来自一个博客系统,这个链接系统是自动的,链接是这样的:link1||link2||link3|| 请帮我解决这个问题。再次感谢您
  • @Vahid 只需将/\s*$/ 更改为/\|\|\s*$/,您就可以同时去掉最后一个|| 和尾随空格:)
  • @Vahid 没问题!我很高兴能帮上忙:)
【解决方案2】:

怎么样?

var array = document.getElementById('links').innerHTML.trim().split('||');

如果你只想要一个字符串,使用这个:

var str = document.getElementById('links').innerHTML.trim();

【讨论】:

  • +1 - 这与我的回答相同,不同之处在于它在支持 trim 的浏览器上会稍微快一些,但在没有 shim 的非现代浏览器上将无法运行。跨度>
  • 哪些浏览器不支持?
  • 几乎所有在过去几年未发布的浏览器。最流行的不支持它的浏览器可能是IE 8
  • 感谢您的收获。我在想'innerHTML',但从来没有输入过。 :P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
  • 2021-07-25
相关资源
最近更新 更多