7

could someone help me to understand why this errors

document.getElementById("actContentToGet").contentWindow.document.body.getElementById is not a function

function deleteElement(element){
        var elementID = $(element).attr("class");
        alert(elementID);
        document.getElementById('actContentToGet').contentWindow.document.body.getElementById(elementID).remove;
        alterContent();
        giveAllIDs();
        hoverLoad();
    }
Phil Jackson
  • 10,104
  • 22
  • 95
  • 129

2 Answers2

18

Try changing this:

...contentWindow.document.body.getElementById(elementID)...

to this:

...contentWindow.document.getElementById(elementID)...

Edit from comments: It's not removing that element because that's not how you remove elements. Try this:

var iframe = document.getElementById('actContentToGet');
var frameDoc = iframe.contentDocument || iframe.contentWindow.document;
var el = frameDoc.getElementById(elementID);
el.parentNode.removeChild(el);

See the documentation here.

nickf
  • 520,029
  • 197
  • 633
  • 717
1

Try removing the body.- getElementById() is a document. function.

Pekka
  • 431,103
  • 135
  • 960
  • 1,075