2013-09-23 3 views
0

연습용으로 양식 유효성 검사를위한 플러그인을 만들고 있지만 h2 요소를 만들고 속성을 설정하려고 시도한 후에 어떤 이유로 작동하지 않습니다. 다음은 코드입니다setAttribute not working

var testing = function(regex, value, error_msg, error_msg_field_id){ 
     var pattern = new RegExp(regex); 
     if (!pattern.test(value)){ 
      var ele = document.createElement("H2"); 
      var node = document.createTextNode(error_msg); 
      ele.setAttribute('style', 'color:white'); 
      alert("hi"); 
      jQuery(error_msg_field_id).append(node); 
     } 
    } 

텍스트는 문제없이 표시되지만 흰색은 아닙니다. 이 말은 전혀 의미가 없습니다.

+1

'ele.style.color = white;'? – Ohgodwhy

+0

참으로 나는 그것도 시도했지만, didnt 일, 그것조차 (안녕) – user308553

+0

경고를 나던 doesnt는 그 때 당신의 조건서는 거의 발사하지 않을 것이다. – Ohgodwhy

답변

3

setAttribute을 올바르게 사용하고 있는데, h2 요소의 속성을 으로 설정하면 DOM에 실제로 삽입되지 않습니다. 여기 또한 필요하지 않습니다 jQuery를의 사용을

var ele = document.createElement("H2"); 
ele.textContent = error_msg; 
ele.setAttribute('style', 'color:white'); 
jQuery(error_msg_field_id).append(ele); 

:

당신은 변경에 코드의 관련 섹션을 단순화 할 수 있습니다.

document.querySelector("#" + error_msg_field_id).appendChild(ele); 

과 같이 간단하게 사용할 수 있습니다.

+0

안녕하세요, jQuery 대신 그 이점을 사용하고 있습니까? – user308553

+3

1. jQuery가 필요하지 않습니다;) 거의 100k의 라이브러리를 포함하여 주변을 돌아 다닐 수 있습니다. 2. 네이티브 javascript를 사용하는 것이 jQuery를 사용하는 것보다 더 빠릅니다. 3. 네가 네이티브 javascript를 사용하여 다른 사람들이 라이브러리를 사용하기 때문에 기분이 좋아질 수 있습니다. –

+0

문제가있는 경우는 [querySelector] (https://developer.mozilla.org/en-US/docs/Web/API/Element.querySelector)를 모르므로 IE7 이하를 사용할 때입니다. –