2014-04-14 2 views
0

나는 동적 인 td를 가지고있는 테이블을 가졌을 때 글자의 무게를 변경하고 싶다. 다음은 코딩이지만 클릭하면 전체 페이지가 변경됩니다. 내가 잘못한 곳을 말해줘.동적으로 생성 된 td 변경 onclick

function addHandler() 
{ 
    var addH=document.getElementsByTagName('td');  
    for(var i=0;i < addH.length;i++) 
    { 
     if(addH[i].addEventListener) 
     { 
      addH[i].addEventListener('click',addBold,false); 
     } 
     else if(addH[i].attachEvent) 
     { 
      addH[i].attachEvent('onclick',addBold); 
     } 
    } 
} 

function addBold() 
{ 
    var add=document.getElementsByTagName('td');   
    for(var i=0;i < add.length;i++) 
    { 
     var weightVal=add[i].style.fontWeight; 
     if(weightVal!=900) 
     {   
      add[i].style.fontWeight="900"; 
     } 
     else 
     { 
      add[i].style.fontWeight="100"; 
     } 
    }   
} 
+0

클릭 한 TD 만 굵게 표시 하시겠습니까? – attila

답변

0

addBold 루틴이 모든 td를 설정하고 있습니다. 다음 작품들. 나는 당신에게 참고 링크를 줄 수 있었으면 좋겠지 만 나는 할 수 없다. 나는 그 링크를 나 자신으로 원한다.

[편집]이 페이지는 당신이 원한다고 생각하는 것처럼 작동합니다. 너에게 효과가 있니?
"e"가 이벤트 처리기로 전달됩니다. 내가 더 말할 수 있으면 좋겠다.
내가 말했듯이, 나는 이것이 어떻게 작동하는지에 대한 참고 자료를 찾고있다. 하지만 그렇습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
<head> 
<title>Title</title> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
<style type="text/css"> 
</style> 
<script type="text/javascript"> 
function addHandler() { 
    var addH=document.getElementsByTagName('td');  
    for(var i=0;i < addH.length;i++) { 
    if(addH[i].addEventListener) { 
     addH[i].addEventListener('click',addBold,false); } 
    else if(addH[i].attachEvent) { 
     addH[i].attachEvent('onclick',addBold); } } 
    } 
function addBold(e) { 
    if (e.target.style.fontWeight != "900") { 
    e.target.style.fontWeight = "900"; } 
    else { 
    e.target.style.fontWeight = "100"; } 
    } 
</script> 
</head> 
<body onload="addHandler();"> 
<div id="bodyid"> 
<table border="1"> 
<tr><td>One1</td><td>Two1</td></tr> 
<tr><td>One2</td><td>Two2</td></tr> 
</table> 
</div><!-- bodyid --> 
</body> 
</html> 
+0

답변 해 주셔서 감사합니다. 하지만 addBold 메서드를 e 개체를 전달하는 방법을 얻을 수 없습니다. 나는 또한 행의 인덱스를 전달하려고 시도했다. 그것도 작동하지 않았다. – Samydilini

+0

@ user3532221 답변을 연장했습니다. 시도 해봐. (어떻게 addHandler를 실행 했습니까?) – dcromley

+0

네, 고맙습니다. 고맙습니다. 당신은 이것이 나에게 얼마나 큰 의미인지 모른다. 대단히 감사합니다. – Samydilini

관련 문제