2014-12-01 2 views
0

어떻게 PHP 나 자바 스크립트를 사용하여 html 요소 값을 얻을 수 있습니까? DOM 준비 이벤트와 함께 jQuery를 사용해 보았습니다.하지만 문제는 어딘가에서 동적으로로드되는 값이 DOM 준비 이벤트와 함께 jQuery를 사용할 때 DOM이 준비되었지만 값이 발생한다는 것입니다. 요소의 빈 (아직로드되지 않은) 및 jQuery 함께 값을 잡을 때 요소의로드 된 전에 잡아 오전 때문에 그것은 요소의 빈 값을 제공합니다.HTML 요소 값을 잡아

어떻게로드 한 후에 값을 가져올 수 있습니까? 어떤 종류의 방아쇠 또는 사건이 있습니까?

도움이나 의견을 보내 주시면 감사하겠습니다.

허용되는 솔루션은 작동하지만, 난이 더 나은 생각 :

<script type="text/javascript"> 
var bool = false; 
    jQuery('.element').bind('DOMNodeInserted', function() { 
    if(bool == false) { 
     alert("DOM NODE INSERTED !"); 
     bool = true; 
    } 
    }); 
</script> 
+0

가 작업 같은 파일의 요소의 내용을 소리, 지역별 요소의 내용을 가져 오기 –

+0

가능한 [jquery에서 동적으로 생성 된 요소에 대한 클릭 이벤트를 트리거하는 방법] (http : // stackoverflow.com/questions/18734393/dynamic-created-in-jquery에서 트리거 클릭 이벤트 발생시) –

+1

아마 값을 찾고 이벤트를 추가하지 않으려 고하므로 아마 그렇지 않을 것입니다. jQuery.on은 그에게 도움이되지 않을 것이고 질문은 명확하게 중복되지 않습니다. – Shiala

답변

-1

아래 window.load 사용해보십시오 :

$(window).load(function() { 
    // Run code 
    }); 

이 페이지가 완전히 처음로드 될 것을 보장합니다

덧글 추가. 로드 이벤트는 이와 같은 단일 요소에 할당 할 수 없습니다. window.load 이벤트를 사용하려면 모든 요소가로드 될 때까지 기다려야합니다 (전체 페이지). 이 경우

function checkStatus() { 
     var check = $(#yourELEMENT NAME) 
     if (check == null) { 
     //Change the time to whatever you like 
     setTimeout("checkStatus()", 100); 
    } else { 
    ... 
    } 
    } 

당신이 설정 될 수 있도록 충분해야하고 당신이 원하는대로 당신이 그것을 조작 할 수있는 요소가로드 될 때까지 약간의 시간을 기다립니다 : 그러나, 내가 당신을 제안 할 수있는 것은 같은입니다. 그리고 마지막으로, 그것이 당신을 위해 작동하는 경우 대답을 받아주십시오.

+1

이것은 실제로 작동합니다. 하나의 단점은 전체 페이지가로드되어야한다는 것입니다. 전체 페이지가 아닌로드/변경 될 때 어떻게 트리거 할 수 있습니까? – Wazaaaap

-1

이것은 PHP와 많이 비슷하지만 JavaScript와 비슷합니다.

페이지가 렌더링 된 후에 요소가로드되면 (값을 사용하여) 페이지 아래쪽에 스크립트 요소를 넣는 것이 종종 효과가 있습니다. 당신이 뭔가에 대해 얘기하는 경우

당신은 사용자/브라우저에서 약간의 변화를 위해 대기하는 경우 등

를 온 클릭 onchange를, 및 onblur, onMouseover와, 때 onKeyPress, 등의 이벤트에 연결해야합니다 그 외에는 jQuery를 사용하면 jQuery 자체 준비 함수가 있습니다.

$(document).ready(function() { 
console.log("ready!"); 
}); 
+0

값이로드되기 전에 트리거됩니다./이미 시도했습니다. – Wazaaaap

+1

준비와 같은 명백한 해결책에 답하기 전에 질문을주의 깊게 읽어야합니다. wazaaaap이 이미 시도했다고 말합니다. – Shiala

+0

그는 아이디어를 물었습니다 ("어떤 도움이나 생각도 감사드립니다!") 나는 그에게 _3을주었습니다. 그는 또한 코드를 절대 게시하지 않았으며 PHP 또는 JavaScript를 의미하는지 ** 알지 못했지만 (** 같은 것을하지는 않습니다) 질문에 많은 세부 정보가 없으므로 ** 모든 ** 우리는 어둠 속에서 총을 맞고 있습니다. 문제의 본질에 대해 더 많은 정보를 얻을 때까지 스크립트 위치, 이벤트 핸들러 및 준비()는 내가 (또는 내가 생각하는) 포인터가 그에게 줄 수있는 유일한 포인터에 관한 것입니다. –

0

다음과 같은 것을 사용할 수 있습니다. 물론

$("#Blaah").load(function(){ 
//Code 
}); 

, 당신은 요소가로드 될 때 감지, 당신은 어떤 CSS 선택기를 사용할 수있는 ID를 사용할 필요가 없습니다. http://api.jquery.com/on/ :

+0

이것은 작동하지 않습니다. – Wazaaaap

+0

웹 페이지에 jQuery가 있습니까? – Ben

+0

예 jQuery, 이미 $ (창) .load 시도하고 작동합니다,로드 된 경우 확인하려는 요소의 클래스도 시도한 있지만 아무것도 트리거하지 않습니다. – Wazaaaap

0

$(function() { 
    // after doc loads will get innerHTML of #myElement 
    var elementContents = $("#myElement").html(); 
}); 

$(function() { 
    $("#myDiv").load("ajax/test.html #container"); 
}); 
+0

이것은 wazzaaap가 이미 시도한 DOM 준비 함수를 사용합니다. – Shiala