2010-04-28 4 views
0

저는 JQuery를 배우고 있습니다.JQuery에서 DIV 태그의 ID를 전달하려면

<Div ID="top"> 
<DIV ID="testing1"> 
<DIV ID="testing2"><DIV ID="testing3">...<DIV ID="testing100"></Div> 

는 PHP 파일 에 의해 생성 된 다른 ID와 DIV 태그의 수만 있기 때문에 그리고 나는 JQuery와 자기 정의 함수에 DIV 태그의 동적 ID를 전달하려고 :

<script>$(function() { 
$("div").mouseover(function() { 
     var ID = $(this).children().attr('id'); 
     alert(ID);  });}); </script> 

하지만 작동하지 않습니다.

+0

참고 : 귀하의 HTML 코드는 유효하지 않습니다. DIV에는 내용이없는 경우에도 항상 닫기 태그가 필요합니다.

selfawaresoup

+0

이 함수를 연결하는 원형 교차로가 있습니다. ID 대신 요소를 받도록 함수를 변경하거나'$ (this) '요소에서 함수를 작동하게하십시오. 그런 다음'$ ("div"). mouseover (myFunction);'를 사용하여 간단히 바인드 할 수 있습니다. – Kobi

답변

0

다음 예제는 작동하며 이벤트 버블 링은 세 번 호출하고 결과는 각각 "testing2", "testing1"및 "top"순으로 나타납니다.

<div id="top"> 
    <div id="testing1"> 
     <div id="testing2">x</div> 
    </div> 
</div> 
<script type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $("div").mouseover(function() { 
     var ID = this.id; 
     alert(ID);  
    }); 
}); 
</script> 
1

이벤트를 트리거 한 DIV의 ID를 원할 경우 $(this).children().attr("id") 대신 $(this).id()을 사용할 수 있습니다.

children()은 DIV 안에있는 모든 요소의 배열을 제공합니다. 그러나 여러 요소 목록에서 하나의 ID를 얻는 것이 문제가 될 수 있습니다.)

DIV 안에 첫 번째 요소의 ID를 사용하려면 $(this).children().first().id()을 시도하십시오.

+1

이벤트 처리기 내에서'this.id'를 사용할 수 있습니다. jquery가 컨텍스트에서 처리되므로 jquery로 래핑 할 필요가 없습니다. –

+0

@nikc : 맞습니다. 그것도 효과가있었습니다. – selfawaresoup

1

.children()을 제거하십시오. div의 id 속성이 필요하므로, 그 아이를 찾으러 갈 필요가 없습니다.

또한 .attr('id') 대신 .id()을 사용할 수 있습니다.

따라서 간단하게 $(this).id()이되어 함수가 호출 된 요소의 ID를 가져옵니다.

1

f.e. 명부는 다음을 수행 할 수 있습니다 :이 도움이

<span id="voteajax<? echo $nid;?>"><a class="vbutton" voteid="<? echo $nid;?>" title="Vote!"><? echo $listings['votes'];?></a></span> 

희망 :

<script type="text/javascript"> 
$(function(){ 
$('a[voteid]').click (function(){ 
var nid = $(this).attr("voteid"); 
$.ajax({ 
type: "GET", 
url: "vote.php", 
data: "name="+ nid, 
dataType: "html", 
success:function(data){ $("span#voteajax" + nid).html(data)}, 
error:function(xhr,err,e){ alert("Error: " + err); } 
}); 
return false; 
}); 
}); 
</script> 

는 PHP 페이지의 HTML은 다음과 같이 될 것입니다!

건배, John V

관련 문제