2009-06-17 5 views
0

#container #boxes #third li a에 호스팅 된 내용을 앞자리에 붙이려고 시도하고 있지만 제대로 작동하지 않습니다.jQuery replaceWith, append, prepend not working

$('#container #boxes #third li a').append(kevintext); 

을하지만 그렇게 할 때마다 아무 일도 발생하지 않습니다 :

나는 다음과 같은 코드를 사용하고 있습니다. 작동중인 코드는 여기 testing page에서 확인할 수 있습니다.

효과가 없기 때문에 다른 부분을 시도해 보았습니다. 내 꼬리 내부의 스팬을 다른 텍스트로 바꿔야합니다 (자바 스크립트를 사용하지 않는 사람들은 "마우스를 가리키면 표시되지 않으며 마우스를 놓으려고 시도하지 않습니다).

나는 다음과 같은 코드를 사용 :

$('#footer span').replaceWith('<i>For design info, mouse over me.</i>'); 

중 하나가 작동하지 않았다, 그래서 나는이 아마 내 코드를 함께 할 수있는 뭔가가 생각하고, 가능 하나 수정은 두 문제를 해결할 것인가?

도와주세요.

+0

간단한 테스트 케이스를 만들 때 도움이된다면 – albertein

+0

방금 ​​$ ('# third li a')를 실행했습니다. append ('test'); 마지막 블록의 세 항목 모두에 테스트를 추가했습니다. –

답변

4

당신이해야 할 일. 그것이 아마도 (아마도 적어도 asset/script.js에서 가져온 빠른 모양으로)이 함수에서 코드를 래핑하지 않고 $ (document) .ready() 외부에서 실행하려고하기 때문일 것입니다. (당신이 다른 부분을 위해했던) 요소들이 아직 생성되지 않았을 것이므로, 그 시점에서 아무 것도 일어나지 않을 것입니다.

+1

+1 - 의미가 있습니다. – karim79

+0

오, 나는 document.ready가 실행되면 페이지가 끝났음을 의미하므로 아무 것도 추가 할 수 없다고 생각했습니다. –

+0

그러면 많은 웹 사이트가 불가능해질 것입니다. 모든 document.ready는 DOM 트리가 준비 될 때까지 기다리기 때문에 페이지의 요소에 대한 선택을 할 수 있습니다. 특정 장소에 콘텐츠를 추가하기 때문에 특정 장소를 찾을 수 있도록 DOM이 준비 될 때까지 기다려야합니다. –