2016-01-20 42 views
1

嘿我創建一個ID和一個eventListener的元素。所以當我點擊一個鏈接,我想要得到的ID。Dynamic GetElementById - 它是空的

但我沒有控制這個創建的元素。 「不能設置null的屬性...」。

function insertLink(text,link,window,underline) 
{ 

    var doc = document.getElementById("iframe_editor").contentWindow.document;  
    var sel = doc.getSelection(); 
    var count = parseInt(document.getElementById("counter").value); 
    if (sel.rangeCount > 0) 
    { 
     count ++; 
     document.getElementById("counter").value = count; 
     var range= sel.getRangeAt(0); 

     myParent=document.getElementById("iframe_editor").contentWindow.document.body; 
     alink=document.createElement("a"); 

     var text = document.createTextNode(document.getElementById("linktext").value); 

     alink.href = document.getElementById("linkhref").value; 
     alink.id = "testid"+count; 

     alink.appendChild(text);  
     myParent.appendChild(alink); 
     range.insertNode(alink); 
     alink.addEventListener('click', function(){ 
      loadElement(count.toString()); 
     },count); 
    } 
} 

function loadElement(t) 
{ 
    alert(t); 
    document.getElementById("testid"+t).innerHTML = "<a href = ''>Test</a>"; 
} 

當我檢查loadElement中的變量t時,我找回了正確的數字。但我不能用innerhtml改變這個元素。爲什麼不??

回答

1

您插入的鏈接不存在於您的實際網頁中,而是存在於您的iframe中。所以,你必須從iframe訪問它:

document.getElementById("iframe_editor").contentWindow.document.getElementById("testid"+t).innerHTML = "<a href = ''>Test</a>"; 
+1

thx這麼多它的工作thx thx thx –