2013-12-19 2 views
0

jQuery를 사용하여 DOM에 추가 된 요소의 text/value/innerHTML 속성을 편집하는 방법이 명확하지 않습니다. 그 사람이 페이지로드 후 DOM에 추가 된 요소에 대한 이벤트 처리를 설정하는 on() 함수를 사용하지만 그 속성을 수정하기위한 동등한 뭔가를 찾을 수 없다는 것을 이해합니다. 별도의 .js 파일에서jquery로 동적으로 추가 된 요소를 편집 할 수 없습니다.

<body><div id="divBody></div></body> 

:

가 여기에 초기 HTML 문서의 조각의 모든 작품 예상대로 openHandler가 해고,이가 설정되면

$(document).ready(function() { 
    $("#divBody").append("<button id=\"openClose-Button\">Open</button>"); 
    $("#divBody").on("click", "#openClose-Button", openHandler); 
} 

, openHandler가 버튼의 텍스트를 변경하고 핸들러를 스위치 아웃한다고 가정하면 예외입니다.

var openHandler = function openIt() { 
    $("#openClose-Button").off("click"); 
    $("#divBody").on("click", "#openClose-Button", closeHandler); 
    $("#openClose-Button").html = "Close"; 
}; 

이벤트가 올바르게 시작되었지만 on()이나 html도 작동하지 않습니다. 나는 #divBody을 통해 내가 초기 설정을 위해 그리고 또한 #openClose-Button을 통해 선택하는 것을 시도했다.

답변

2

이것은 HTML을 사용하는 올바른 방법입니다 $(document).on("click", "#openClose-Button", openHandler);

를보십시오(). 또는 text().

closeHandler(); 
+0

찰흙이 closeHandler 그것을 표기하는 함수 인 경우

$("#openClose-Button").html("Close"); 

. 그렇게 가까이. 도와 주셔서 감사합니다. – this

+0

@ user643342 문제 없음 :) –

관련 문제