/
нужно экранировать, вот так \/
. И между </h4><ul>
вы не учли перевод строки и пробелы.для каждой переменной (var)
– создаётся свойство VO с именем переменной, и значением undefined; если в VO уже присутствовало свойство с таким именем, оно остаётся нетронутым.
// Допустим у вас есть объект:
var a = {};
// Вы можете сохранить функцию в одно из полей этого объекта
a.foo = function () {
console.log(123);
};
// Теперь вы можете вызвать эту функцию используя точечную нотацию:
a.foo();
// Или используя нотацию в квадратных скобках:
a["foo"]();
// Теперь допустим вы хотите сохранить название функции в переменной:
var bar = "foo";
// Как теперь снова вызвать foo, зная только bar? Вот так:
a[bar]();
var form = {foo: 'bar'},
requests = [],
index,
$xhr;
for (var index = 0; index <= 5; index++) {
$xhr = $.post('myurl', {'form': form, 'index': index});
$xhr.done(function (data) {
console.log('request done');
});
requests.push($xhr);
}
$.when.apply($, requests).done(function () {
console.log('all done');
})
Math.round(785/10)*10
function round(n, f) {
f = Math.pow(10, -f);
return Math.round(n / f) * f;
}
round(785, -1) // 790
function mergeCells(table) {
var head = table.rows[0],
body = table.rows[1],
resultHead = "",
resultBody = "",
matches = {};
for (var i = 0; i < body.cells.length; i++) {
var headCellText = head.cells[i].textContent,
bodyCellText = body.cells[i].textContent,
match = matches[bodyCellText] || (matches[bodyCellText] = []);
match.push(headCellText);
}
for (var key in matches) {
var match = matches[key],
from = match[0],
to = match[match.length - 1];
if (match.length > 1) {
resultHead += "<td>" + from + "-" + to + "</td>";
} else {
resultHead += "<td>" + from + "</td>";
}
resultBody += "<td>" + key + "</td>";
}
head.innerHTML = resultHead;
body.innerHTML = resultBody;
}
s = '2015-10-21 09:35:18';
d = new Date(s);
console.log(d.getHours(), d.getMinutes());
time = '2015-10-21 09:35:18'.split(' ')[1];
parts = time.split(':');
console.log(parts[0], parts[1]);