来自div的变量

时间:2016-02-29 15:00:03

标签: javascript jquery

我有这个简单的div:

<div id='names'>
    name1[John]
    name2[Blake]
    name3[Sven]
    name4[Ellis]
</div>

我想使用JavaScript

返回这些变量
var name1 = "John";
var name2 = "Blake";
var name3 = "Sven";
var name4 = "Ellis";

3 个答案:

答案 0 :(得分:1)

你的问题缺乏很多细节。可以有超过这四个名字吗?您是否可以重新构建代码以便更轻松地访问数据?

var toParse = document.getElementById('names').innerHTML;
var m;
var re = /\[(.*)\]/g;

while (m = re.exec(toParse)) {
  console.log(m[1]);
}

https://jsfiddle.net/hL4bu5j1/

此代码在[Bracers]中查找文本并将其输出到控制台,以便您了解如何处理此问题。你应该乐于助人。想把这个作为评论,但我还没有被允许。

答案 1 :(得分:0)

这应该这样做:

//document.body.innerHTML = "<div id='names'>\n    name1[John]\n    name2[Blake]\n    name3[Sven]\n    name4[Ellis]\n</div";
var obj = {};
var str = document.getElementById("names").innerHTML;
while(str.lastIndexOf(' ') >= 0) {
  str=str.replace(' ','')
}
var str=str.split("\n");
for(var i = 0;i<str.length;i++){
  if(str[i].length > 2) {
    obj[str[i].replace(']','').split('[')[0]] = str[i].replace(']','').split('[')[1];
  }
}
console.log(obj)

答案 2 :(得分:0)

这是一个丑陋的版本:

string path = @"C:\\Public Key Pin\Test.txt";
if (!File.Exists(path))
{
    File.Create(path);
    using (StreamWriter sw = File.CreateText(path))
    {
        sw.WriteLine("The first line!");
    }
}
else if (File.Exists(path))
{
    MessageBox.Show("File with this path already exists.", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

我认为Regex更适合您的问题

https://jsfiddle.net/hrgk2s1u/