Javascript和jQuery的新手,所以我认为这是一个非常简单的问题。
我有一个日期,我想分成一个字符串,然后打印出数组。
var date = "12/10/2010";
var dateArray = date.split(/);
$('#printbox').html($(dateArray[0]));
<span id="printbox"></span>
编辑:问题是,我如何将“12/10/2010”拆分成这样的数组:
Array[0] = 12
Array[1] = 10
Array[3] = 2010
如何将它们打印到HTML?
答案 0 :(得分:9)
string.split函数的第一个参数应该是字符串或正则表达式:
var date = "12/10/2010";
var dateArray = date.split("/");
// dateArray[0] == 12
// dateArray[1] == 10
// dateArray[2] == 2010
// Now use the array to print out whichever way you want (jQuery.html(values))...
答案 1 :(得分:2)
var date = "12/10/2010";
var dateArray = date.split('/');
$('#printbox').html(dateArray[0]); // it displays 12 in printbox
$('#printbox').html(dateArray[1]); // it displays 10 in printbox
$('#printbox').html(dateArray[2]); // it displays 2010 in printbox
答案 2 :(得分:1)
对于分裂你几乎就在那里:)
var dateArray = date.split("/");
如果您想使用jQuery,可以使用each方法。
$.each(dateArray, function(index, value) {
// print out here
});
这构造了一个迭代数组元素的循环。您可以通过value
变量访问此元素。
答案 3 :(得分:1)
var date = "12/10/2010";
var dateArray = date.split('/');
// dateArray => ['12', '10', '2010']
如果你想使用jQuery,你可以使用每个函数:
$.each(dateArray, function (index, value) {
$('#printbox').append(value);
});
在较新的浏览器中还有一个.forEach方法:
dateArray.forEach(function (value) {
document.getElementById('printbox').
appendChild(document.createTextNode(value));
});
较旧的浏览器可以通过Array.prototype:
获得此方法if (!(Array.prototype.forEach === 'function')) {
Array.prototype.forEach = function (fn) {
for (var i = 0, l = this.length; i < l; i += 1) {
fn(this[i]);
}
};
}
答案 4 :(得分:0)
var date = "12/10/2010";
var dateArray = date.split(/\//); // have to quote regular expressions with /
document.write; // this does nothing
$('#printbox').html(dateArray[2] + '-' + dateArray[0] + '-' + dateArray[1]); // do what you want here. The code I provided should print 2010-12-10
答案 5 :(得分:0)
var date = "12/10/2010";
var dateArray = date.split('/');
var year = dateArray.splice(2,1);
dateArray[3] = year;
应该给你
Array[0] = 12
Array[1] = 10
Array[3] = 2010
但是为什么你需要第四把钥匙的年份我不知道。 (也从第三个中删除,所以你不会结束两年)