2011-05-02 5 views
0


나는 이런 식으로 보이는 링크가 있습니다나는의 jQuery 객체를 래핑 할 수

<a href='#close' onclick='javascript:RequestClosure(this, event, 1012236);'>Request closure</a> 

RequestClosure 기능은 다음과 같습니다

function RequestClosure(sender, e, partsID) 
{ 
    alert($(sender).html()); 
} 

함수가 실행될 때 $ (보낸 사람)가 존재하지 않는 것처럼 아무 것도 표시하지 않습니다. 하지만 그것은 작동하고 HREF 특성 내가 잘못 뭐하는 거지

을 보여줍니다

function RequestClosure(sender, e, partsID) 
{ 
    alert(sender); 
    // or this 
    alert(sender.href); 
} 

같은 것을 작성하는 경우?

+5

[잘 작동합니다.] (http://jsbin.com/ahine3/2/#noedit) (소스보기). –

+0

태그에서 무엇을 얻으려고합니까? –

+0

이렇게하면 jQuery 이벤트 객체를 얻지 못할 것이라고 생각합니다. 하지만, 그게 어쨌든 당신이 찾고있는 것이 아니며, 그 외에도 'this'를 전달한 다음 '$ (보낸 사람)'을 수행하면 'this'라는 jQuery 객체를 만들어야합니다. 위의 예제는 이와 관련하여 예상대로 작동하는 것 같습니다! – morewry

답변

1
> <a href='#close' onclick='javascript:RequestClosure(this, event, 1012236);'>Request closure</a> 

온 클릭 속성 vaule의 javascript:는 사용하지 마십시오, 라벨로 처리됩니다. 관례

> function RequestClosure(sender, e, partsID) 

는 대문자로 시작하는 함수 이름은 new 호출해야합니다 생성자를 위해 예약되어 있습니다. 그 이후

alert(sender.innerHTML); 

jQuery를 사용하는 (이것은 또한 비표준는 이벤트 관리를위한 추가 속성을 제거) 무엇을 :

> { 
> alert($(sender).html()); 
> } 

마지막 행으로 훨씬 더 효율적이 될 것입니다.

함수가 실행될 때 아무 것도 표시되지 않습니다. 예를 들어 $ (보낸 사람)이 존재하지 않습니다.

jQuery의 즐거움 중 하나 - 일이 잘못 될 경우 자동으로 실패하는 것이 좋습니다.

0

죄송합니다.
문제는 jQuery 파일이 제대로 포함되지 않았기 때문입니다. :(
너무 슬프다.

관련 문제