2016-10-12 4 views
0

Я получаю это значение от источника страницы (после завершения загрузки страницы), данные поступают из внутреннего процесса, который заполняет скрытый ввод текста на стр. Я хочу разделить эти данные, а затем отобразить их в формате HTML.Как отделить значение массива от ввода до HTML

Это код от «View Page Source»

<input name="hiddenUserStats" type="hidden" id="hiddenUserStats" value=" 
99.0~35.0~8.0~.0~1.0~6.0~3.0~.0~1.0~3.8~1.8~1.0~.0~16.0" /> 

О стоимости, я предполагаю, что каждый .0~ отделяет истинное значение, которое я желаю, чтобы отделить и дисплей. Кто-нибудь знает, что было бы лучшим шагом для разделения и отображения таких данных? Я начинаю с разделения их на переменные?

+4

'document.getElementById ('hiddenUserStats') value.split ('~'),' –

+1

Вот подробнее о 'split':. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split –

+0

Спасибо, я бы не подумал об этом. – Doge

ответ

0

Вы можете использовать функцию split(), чтобы разделить статистику.

var value = document.getElementById('hiddenUserStats').getAttribute('value'); 
 

 
var stats = value.split('~'); 
 

 

 
for (i = 0; i < stats.length; i++) 
 
{ 
 
    var div = document.createElement('div'); 
 
    div.innerText = stats[i]; 
 
    document.body.appendChild(div); 
 
}
<body> 
 
<input name="hiddenUserStats" type="hidden" id="hiddenUserStats" value=" 
 
99.0~35.0~8.0~.0~1.0~6.0~3.0~.0~1.0~3.8~1.8~1.0~.0~16.0" /> 
 
</body>

+0

Спасибо, я сделал некоторые настройки на ваш код, но в конце концов он указал мне на то, что мне нужно. Я все равно почесал бы его голову, если бы не ваш пример. – Doge

0

Вот еще один способ, используя собственные методы массива;

document.getElementById('hiddenUserStats') 
    .getAttribute('value') 
    .split('~') 
    .map(function(val, i) { 
     return '<div>' + i + ': '+ val + '</div>'; 
    }) 
    .forEach(function(el) { 
     document.body.innerHTML += el; 
    }); 
Смежные вопросы