Вот кусок плагина для создания Placeholder.
В оригинале все блоки div placeholder он вставляет в конец body:
var body = $(document.body);
this.each(function(indx, element){
if ($(this).attr('placeholder') !== "") {
var template = '<div class="placeholder" style="position:absolute;overflow:hidden;white-space:nowrap;cursor:text;"/>',
self = $(this),
pos = self.offset(),
height = self.height(),
width = self.width(),
ph_text = self.attr('placeholder'),
placeholder = $(template)
.appendTo(body)
.text(ph_text)
.css({
top: pos.top,
left: pos.left,
width: width,
height: height,
padding: ((self.outerHeight() - height) / 2) + 'px ' + ((self.outerWidth() - width) / 2) + 'px '
});
Но мне нужно чтоб он выставлял блоки с Placeholder'ми перед самими полями ввода Input[placeholder].
Я осмелился подменить:
placeholder = $(template)
.appendTo(body)
на:
placeholder = $(template)
.before(self)
Но этот метод полностью уничтожает коды полей, ни подсказок, ни полей (
jsfiddle.net/mw5Ge - оригинал ///
jsfiddle.net/Pb6Mz - переделано). Я даже понятия не имею, что за ошибка.