2010-04-28 4 views
3

jQuery 문제에 도움이 될만한 사람이 있는지 궁금합니다.jQuery를 사용하여 href에서 값 받기

Jquery Tools 라이브러리의 툴팁을 사용하여 hrefed 이미지 위에 마우스를 올리면 팝업 창이 생깁니다.이 호출을 사용하여 DIV의 내용을 변경하려고합니다. 내가 사용하고

링크의 형식에 :

<a href="/venue/1313.htm" class="quickView"><img src="/images/site/quickView83.png" alt="Quick View" width="83" height="20" /></a> 

내가 팁을 실행하는 데 사용하고 코드입니다 : 내가 시도

$(".quickView").live('mouseover', function() 
    { 
     if (!$(this).data('init')) 
     { 
      $(this).data('init', true); 
      ajax_quickView(); 
      $(this).tooltip 
      ({ 
       /* tooltip configuration goes here */ 
       tip: "#quickViewWindow", 
       position: "right", 
       offset: [0, -300], 
       effect: 'slide' 
      }); 
      $(this).trigger('mouseover'); 
     } 
    }); 

다음 함수는 (ID를 잡기 위해 위의 예에서 1313) :

function ajax_quickView(){ 
     var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1]; 
     $("#quickViewWindow").load("/quick-view/", function(){}) 
    } 

그러나 이것이 내리는 곳이라고 생각합니다. 정규식 내가 추정 var에의 pageNum을 일단

난 그냥 같은 .load로 전달할 수 있습니다 ... 비난하는 확률값입니다 :

$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){}) 

많은 감사

답변

5

첫째, 당신이 올바르게 정규식에서 / 문자 탈출하지 않은 :

.match(/venue/([0-9]+)/).htm[1]; 

// should be 
.match(/venue\/([0-9]+).htm/)[1]; 
: 둘째

/venue/([0-9]+)/ 

// should be 
/venue\/([0-9]+)/ 

을, 당신은 제대로 정규식을 종료하지 않은, 전체 라인은 몇 구문 오류가 있습니다

+0

감사합니다. 변경했습니다. 그러나 마우스 오버가있는 것과 상관없이 페이지의 첫 번째 링크를 선택하는 것으로 나타납니다. 마우스 오버 링크를 사용하려면 아무 것도 추가해야합니까? –

+0

@bateman_ap : jQuery 함수에서 선택자를 사용하고 있기 때문에 요소의 목록을 반환하고 해당 목록의 첫 번째 항목에 대한 'href' 속성을 가져옵니다. 'mouseover' 핸들러에서 'this'에 대한 참조를 전달해야합니다. 'ajax_quickView (this)'를 호출하고 선택자 대신에 그 참조를 사용합니다. –

+0

죄송합니다. 마지막 질문이 하나 있습니다. 나는 ajax_quickView (this)를 사용했다. 내 코드에서 경고 (this)를 사용하면; 모든 것이 잘 보이고 올바른 URL을 보여줍니다. 그러나 내 기능에서 나는 사용하고있다 기능 ajax_quickView (pageUrl) { var pageNum = pageUrl.match (/ 개최지 \/([0-9] +). htm /) [1]; $ ("# quickViewWindow")로드 ("/ quick-view /", {uid : pageNum}, function() {}) } 다음과 같이 잘못된 것으로 가정합니다. pageUrl.match는 함수가 아닙니다. –

0

난 몰라 툴팁 플러그인이긴하지만 당신의 접근 방식이 조금 복잡하다고 생각합니다 ... 성가신. jQuery 도구와 오버레이를 사용하여 이벤트 소스를 넘겨주는 콜백을 등록 할 수있었습니다.이 경우에는 실제 URL을 요청할 수있는 hrefd 이미지가됩니다. 당신이 찾고있는 대답이 아닐 수도 있지만, 나는 당신이 이것을 필요 이상으로 복잡하게 만들고 있다고 느낍니다.

+0

오버레이를 보았습니다. 실제로 사이트의 다른 곳에서 사용합니다. 그러나 그것은보기에 약간 성가신 것처럼 보였고, 잘못하면 용서해주었습니다. 링크와 관련하여 문제가 발생했습니다. –

+0

아, 내 코드가 끔찍한 것 같아요. 이 모든 종달새, 더 많은 일을하고 묻는다. –

관련 문제