2011-08-16 4 views
2

div id라는 변수에 $ id 변수가 있으므로 div id가 항상 변경됩니다. 나는 자바 스크립트로 이런 식으로 끝난다는 것을 알고있다.jquery가 포함 된 PHP 동적 변수

<div id='$id' onclick='myfunction($id)' > 

jquery를 사용하여 ID를 알 수없는 경우 어떻게해야합니까?

+2

이것은 코드에 크게 의존하며 수행하려는 작업, PHP에서 jQuery를 생성하고 변수를 삽입 할 수 있으며 클래스를 사용할 수 있으며 데이터 속성 등을 사용할 수 있지만 상황에 따라 다릅니다. – Kokos

답변

0

jquery를 사용하는 경우 onclick과 같은 요소에서 이벤트 처리기 특성을 사용하는 실제 이유가 없습니다 (일부 엣지 경우 제외). 당신은 모든 것을 눈에 거슬리지 않게해야합니다.

HTML : <div id="<?php echo $id; ?>" class="some_class">

JS : 예를 들어

$.ready(function(){ 
    $('.some_class').click(function(){ 
    myFunction($(this).attr('id')); 
    }); 
}); 

또는 ID를 my_function_10 같은 특정 형식을 따르지 말할 수, 당신은 attribute selectors를 사용할 수 있습니다

<div id="my_function_<?php echo $id; ?>">

다음 작업을 수행 할 수 있습니다.

+0

이 비트를 설명하십시오 - '[id = = my_function_ "]' – ziggy

+0

그러면 'my_function_'으로 시작하는 ID를 검색 할 수있게됩니다. 그래서 다른 질문을 참조하면'substr'을 사용할 수 있습니다 :'var id = $ ('[id^= "my_function _"]'). attr ('id'). substr (13);' – prodigitalson

2

클래스를 사용하십시오.

<div id='$id' class="myDiv" onclick='myfunction($id)' > 

그럼 당신은 jQuery를이 작업을 수행 할 수 있습니다

$(".myDiv").each(function() { 
    // write code here. 
}); 
1

당신은 그 div의에 클래스를 지정하고, 그 클래스의 모든 요소를 ​​통해 루프 jQuery를 사용해야합니다

$(".your_div_class").each(function() { ... }); 

또한 PHP 변수를 적절히 출력해야합니다.

<div id="<?php echo $id; ?>" onclick="myfunction('<?php echo $id; ?>')" > 
0

인라인 이벤트 처리기를 사용해야하는 경우 항상 onclick="myfunction(this.id);"을 사용하여 ID를 전달할 수 있습니다. 또는 더 나은 것은 onclick="myfunction.call(this);"이므로 this은 함수 내부의 요소를 가리 킵니다.

하지만 jQuery를 사용할 수 있으므로 onsomething 번만 쓸 이유가 없습니다.

관련 문제