- 1
- 2
- 3
$('table.list th').each(function () {
$(this).attr('class', $('> div', this).remove().text()); // хе-хе
});
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+143
$('table.list th').each(function () {
$(this).attr('class', $('> div', this).remove().text()); // хе-хе
});
берем див на первом уровне, удаляем его, читаем с него текст (работает, не ругайтесь) и подставляем его в класс текущему элементу
+163
var z=fggh.getElementsByTagName("*");
for(iii=0; iii<z.length; z++)
if(z[iii].parentNode==fggh){
//z[iii] - непосредственный потомок fggh, и мы с ним что-то делаем!
…
}
Раз народ решил, что я незаслуженно обижаю юниора, то вот вам ещё более шокирующий пример подобного кода от программиста, с которым мы вместе работали несколько лет назад в одной московской фирме. Тут, к сожалению, воспроизвожу по памяти, но очень близко к оригиналу.
+156
if (e.button in [-1, -1, -1]) { // попробуйте теперь сообразите, почему true
e.preventDefault();
var rel = this.rel.split(';'),
fn;
switch (e.button) {
case 0:
fn = 'attr';
break;
case 1:
case 2:
fn = 'removeAttr';
break;
default:
return false;
}
$('td.mod[rel="' + rel[0] + '"] input[rel="' + rel[1] + '"]').each(function () {
if (fn === 'removeAttr' && $(this).attr('rel') === 'view') { // Я маразматик
var parts = /(chk\[\d+\]\[\d+\])\[view\]/.exec(this.id),
p = ['add', 'edit', 'del'],
i;
for (i in p) {
$('#' + parts[1].replace(/[[\]]/g, "\\$&") + '\\[' + p[i] + '\\]')[fn]('checked');
}
}
$(this)[fn]('checked', 'checked');
});
return false;
}
ГК, не?
первая строка вот... текущий проект, сижу с ним на данный момент. Почему захотелось так сделать, объяснить не могу. Но работает, ведь
+145
var detailsTable = document.getElementById("detailsTable").tBodies[0];
var childs = [], j=0;
for (var i = 0; i < detailsTable.childNodes.length; i++)
if (detailsTable.childNodes[i].nodeType == 1){
childs[j++] = detailsTable.childNodes[i];
}
childs[0].childNodes[1].innerHTML = ''
Наткнулся в нашем проекте. Так юниор получал доступ к ячейкам таблицы. Видно, он не знал про коллекции rows и cells.
+152
function TimeViewport(rootElement, container, canvas, minZoom, maxZoom)
{
this.container = container;
this.rootElement = rootElement;
this.lowPassAlpha = 0.38;
this.canvas = canvas;
this.minZoom = minZoom;
this.maxZoom = maxZoom;
this.zoom = minZoom;
this.size = Math.min(1.0, 1.0 / Math.pow(2, this.zoom));
this.left = 0.5 - this.size / 2.0;
this.right = 0.5 + this.size / 2.0;
this.mouse = {
isDown : false,
panning : false,
velocityMode : false,
downPos : {x : 0, y : 0},
movePos : {x : 0, y : 0},
lastMovePos : {x : 0, y : 0}
};
var self = this;
this.filtered = {
"left" : 0.5 - self.size / 4.0,
"right" : 0.5 + self.size / 4.0
};
this.lastRedrawTime = (new Date()).getTime();
this.maxRedrawInterval = 500;
setInterval(function () { if (self.doLowPass != null) self.doLowPass(); }, 17);
this.canvas.onmousedown = function(event) { self.mouseDown(event) };
this.canvas.onmousewheel = function(event) { self.onMouseWheel(event); };
var oldMouseMoveHandler = this.rootElement.onmousemove;
this.rootElement.onmousemove = function (event) {
if (self.mouseMove) self.mouseMove(event);
if (oldMouseMoveHandler != null) oldMouseMoveHandler(event);
};
var oldMouseUpHandler = this.rootElement.onmouseup;
this.rootElement.onmouseup = function (event) {
if (self.mouseUp) self.mouseUp(event);
if (oldMouseUpHandler != null) oldMouseUpHandler(event);
};
var oldMouseLeaveHandler = this.rootElement.onmouseleave;
this.rootElement.onmouseleave = function (event) {
if (self.mouseLeave) self.mouseLeave(event);
if (oldMouseLeaveHandler != null) oldMouseLeaveHandler(event);
};
};
Очередной велосипедик.
+151
if (Scene.generatedFast || (typeof generatedFast != "undefined" && generatedFast) )
+156
$.post("include/show_watching.php",
function(data) {
$('#content').empty().append(data);
}
);
Вот такой вот POST-запрос.
+161
function printf(format, value) {
return format.replace(/%s/, value.toString());
}
return {
updateProgressBar: function (percentage) {
console.log("update \"progressBar\" status");
progressBar.innerHTML = printf("<p>%s %</p>", percentage);
}
};
+164
$(document).ready(function(){
//50% прозрачность иконкам голосования
var minusBig = $(".photo-rate-block-minus"),
plusBig = $(".photo-rate-block-plus"),
minusSmall = $(".photo-rate-block-minus-small"),
plusSmall = $(".photo-rate-block-plus-small");
$(minusBig).css('opacity', '0.5');
$(plusBig).css('opacity', '0.5');
$(minusSmall).css('opacity', '0.5');
$(plusSmall).css('opacity', '0.5');
$(".photo-rate-block-minus, .photo-rate-block-plus, .photo-rate-block-minus-small, .photo-rate-block-plus-small").hover( function(){
$(this).css('opacity', '1');
}, function(){
$(this).css('opacity', '0.5');
});
});
CSS для слабаков
+153
var currentTime = (new Date()).getTime();
var diff = currentTime - this.startTime;
var min = Math.floor(Math.floor(diff/1000)/60);
if (min < 10)
min = "0"+min;
var sec = Math.floor(diff/1000)%60;
if (sec < 10)
sec = "0"+sec;
this.timeLabel.setString("TIME " + min + ":" + sec);
Классика практически, моего творения. Как это можно сделать по-человечески на JS? Всякие jQuary не катят, ибо js встраиваемый.