2012-11-04 4 views
0
<script> 
document.getElementsByClassName("student")[0].onclick = addStudent("new element",text here ",document.getElementsByClassName("Class")[0]); 
function addStudent(name,text,hendle) 
{ 
var div=document.createElement("div"); 
var dt=document.createElement("dt"); 
var strong=document.createElement("strong").innerHTML = name; 
var dd=document.createElement("dd").innerHTML = text; 
dt.appendChild(strong); 
div.appendChild(dt); 
div.appendChild(dd); 

div.setAttribute("class","student"); 
hendle.appendChild(div); 
} 
</script>` 

---> 내가 스크립트를 실행할 때 내가 불을 지르고에서 오류가 발생합니다 :연결 요소

NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument arg 0   [nsIDOMHTMLElement.appendChild] 
[Break On This Error] 

dt.appendChild (강한);

---> 또한이 스크립트는 작동하지 않습니다. 스크립트 위치는 페이지의 끝에 있습니다. 문제를 해결하는 방법은 무엇입니까? (저는 단지 자바 스크립트를 배우기 시작했습니다)

+0

감사합니다. – user1569875

+0

옆에있는 체크 표시를 눌러 최상의 대답을 선택하십시오. – 0x499602D2

답변

0

이것들을 사용하면 innerHTML에 할당 된 값을 변수에 할당 할 수 있습니다.

function addStudent(name, text, hendle) { 
    var div = hendle.appendChild(document.createElement("div")); 

    div.classname = "student"; 

    div.appendChild(document.createElement("dt")) 
     .appendChild(document.createElement("strong")).innerHTML = name; 

    div.appendChild(document.createElement("dd")).innerHTML = text; 
} 
1

이 :

var strong=document.createElement("strong").innerHTML = name; 
var dd=document.createElement("dd").innerHTML = text; 

당신은 변수의 요소를 저장해야 다음 .innerHTML

var strong=document.createElement("strong"); 
strong.innerHTML = name; 
var dd=document.createElement("dd"); 
dd.innerHTML = text; 

FWIW을 적용,이 같은이 코드를 다시 작성할 것 성명서는 귀하의 코드가 가정하는 바를 수행하지 않습니다 :

var strong=document.createElement("strong").innerHTML = name; 

DOM 요소의 "strong"및 "innerHTML"속성을 "name"값으로 설정합니다. 난 당신이 대신 할 생각 : 사용자가 만든 <dd>에 대한

var strong = document.createElement("strong"); 
strong.innerHTML = name; 

동일합니다.

0

strong이 아닌 요소 string

이며, 당신이 메소드를 호출 할 경우 함수 참조를 제공해야 클릭합니다.

document.getElementsByClassName("student")[0].onclick = function(){ 

     addStudent("new element",text here ",document.getElementsByClassName("Class")[0]); 
    } 
관련 문제