codi6
codi6

Reputation: 566

Can't add button under div

I have a Chrome extension that inserts a button onto HTML pages. I got it to add the button under one div. Now I'm trying to get it to add it under an image in that div, and it won't work — no errors, the button just doesn't appear. When I do console.log(image_div); it prints out the image object.

Version that works:

var uCW = jNode.closest("[role='article']");
uCW.append(button);

Version that doesn't work:

var image_div = $(uCW).find('[src^="https://external"]');
image_div.append(button);

uCW is the variable name I gave to the parent div, and image_div is the variable name I gave to the child within uCW that contains the image.

Upvotes: 0

Views: 133

Answers (1)

imvain2
imvain2

Reputation: 15847

The problem that you are having is you are appending to a div successfully, but appending to an image is failing. The reason is you can't append to an image, you have to use 'after' since an image isn't an object that can content appended to the innerHTML of it.

So change this:

var image_div = $(uCW).find('[src^="https://external"]');
image_div.append(button);

to:

var image_div = $(uCW).find('[src^="https://external"]');
image_div.after(button);

Upvotes: 1

Related Questions