remove an element that is before the selected element

Derek Adair picture Derek Adair · Jun 28, 2010 · Viewed 14.8k times · Source

I'm doing some form error handling/manipulation and I have the need to remove an error div that is before the input that is being validated...

HTML:

<p><div class="textError"></div><input type="text" name="someInputField" /></p>

I'd like to remove the div.textError if the input field is validated. I tried this...

$(this).before('<div class="textError"></div>').remove('<div class="textError"></div>');

and no dice. any help would be greatly appreciated

Answer

g.d.d.c picture g.d.d.c · Jun 28, 2010

The before method adds something. To get a relative use the prev method. So something like this:

$(this)
  .prev('div.textError')
  .remove()
  .end()
.before('<div class="textError"></div>');