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,238
  • 23
  • 96
  • 130

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
  • 537,072
  • 198
  • 649
  • 721
2

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

Pekka
  • 442,112
  • 142
  • 972
  • 1,088