2014-01-25 2 views
-9

나는이 JavaScript로 내가 뭘 잘못하고 있는지 잘 모르겠다. 나는 아직도 그것에 아주 새롭기 때문에 나는 모든 것을 엉망으로 만들었을 가능성이있다.내가 뭘 잘못하고 있는지 모르겠다.

<script type="text/javascript"> 
    $(document).ready(function(){ 
     function emailTrainer(trainersName, userName, domainName){ 
      var tName = trainersName; 
      var uName = userName; 
      var dName = domainName; 
      var subject = 'Questions&#32;about&#32;training' 

      document.write('<a herf="mailto:' + uName + '@' + dName '&#63;Subject=' + subject + '">Email ' + tName + '</a>'); 
     } 
    }); 
</script> 

HTML 당신이 어떤 마크 업을 렌더링하고 페이지에 배치하는 스크립트를 기대하여 스크립트 태그를 대체하는 것처럼 보이는

<address> 
    <script type="text/javascript"> 
     emailTrainer('Name', 'email', 'Domain'); 
    </script> 
</address> 
+5

어떻게해야할까요? 어떤 행동을보고 있습니까? –

+1

당신은 오타가 있습니다 :'herf'는'href' 여야합니다 –

+1

무엇이 당신의 질문입니까? 문제를 설명하고 무엇을 시도했는지 설명해야합니다. – j08691

답변

4
  1. 당신은 다른 함수 내에서 emailTrainer를 정의 : 나는 당신이 원하는 추측하고있어입니다 (특별한 이유없이 다음 DOM이 준비하는 것이 기다리고 있지만, DOM에서 작동하지 않습니다)하지만, 그런 다음 전역 범위 (존재하지 않는 곳)에서 액세스를 시도하십시오.
  2. 문서가로드 된 후 document.write을 사용 중입니다. 이렇게하면 기존 문서가 지워집니다. 대신 DOM manipulation을 사용하십시오.
  3. 당신은 당신 herfjavacriptjavascript를 철자가 틀리
  4. href를 철자가 틀리하지만 type 속성은 HTML 5부터 (JS에 대해) 및 선택적 오타의 가능성을 피하기 위해 생략한다.
  5. 당신은 당신이 jQuery를에서 $를 호출하지만, 당신이 그것을 사용하지 않는 1에서 언급 한 바와 같이, 당신이 라이브러리를로드 한 징후를주지 (그리고 한 dName'&#63;Subject='
  6. 사이의 연결 연산자 (+)를 놓쳤다 어쨌든 아무것도 유용)
+1

다음에 여분의'; '가 있습니다. 모든 SO 응답이 이처럼 좋아지면 멋진 세계가 될 것입니다. – Merlin

-1

. 불행히도 이것이 바로 JavaScript가 작동하는 방식입니다.

$(function(){ 
    function emailTrainer(name, userName, domain) { 
     // declare your emailTrainer function as before 
    }; 

    var $link = $(emailTrainer('Name','email','Domain'); 
    $('address').append($link); 

}); 
+0

함수 표현 –

-3
<script type="text/javascript" > 
    function emailTrainer(trainersName, userName, domainName){ 
     var tName = trainersName; 
     var uName = userName; 
     var dName = domainName; 
     var subject = 'Questions&#32;about&#32;training' 

     document.write('<a herf="mailto:' + uName + '@' + dName '&#63;Subject=' + subject + '">Email ' + tName + '</a>'); 
    } 
</script> 

에 대한이 작동합니다.

모바일 사이트에서 수정되었으므로 형식을 사용하십시오.

+1

무엇을 변경 했습니까? 답은 무엇입니까? 차)? 작동하지 않을 것입니다. 적어도 하나의 오류가 남아 있습니다. (그리고 인용하지 않은 코드 조각에는 오류가 있습니다.) – Quentin

+0

그가 직면 한 것처럼 보이는 주된 문제는 hes가 함수에 대한 참조를 얻을 수 없으며 준비 함수 호출을 제거했음을 알기 위해 천재가 될 필요가 없다는 것입니다. 또한, 그를 망쳐 놓지 말고, 그가 이미 잘못 지적한 바를 말해주고, 디버깅을하고 언어를 배웁니다. –

관련 문제