2009-12-17 5 views
1

아약스 스크립트에 의해 생성되는 일부 html 태그를 대체하려고합니다. 아약스 스크립트는 다음 UL 목록을 생성합니다 :동적으로 html 태그 바꾸기

<ul> 
    <li class="odd">some text</li> 
    <li class="even">some text</li> 
    <li class="odd"><hr /></li> 
    <li class="even">some text</li> 
</ul> 

내가 </ul><hr /><ul><li class="odd"><hr /></li>를 교체해야합니다. 나는 목록이 생성 될 때마다 이러한 태그를 동적으로 대체하는 자바 스크립트가 있어야한다고 생각하지만 정확하게 수행하는 방법을 모르겠습니다. 저를 올바른 길로 안내해 주시겠습니까?

도움을 주시면 대단히 감사하겠습니다.

+3

이것은 나쁜 생각처럼 들립니다. 'hr'은 ** ul의 허용 된 자식 요소가 아닙니다 ** – Quentin

+0

나는이 문제를 해결했습니다. – Anthony

+1

호기심에서 벗어나 초기에

    ...
을 생성하는 스크립트를 시작하여 필요한 마크 업을 출력하도록 변경할 수없는 이유는 무엇입니까? –

답변

1

첫째, 당신은 접근하기 쉽다는 것을 당신 같은에 ID를 할당해야합니다 : 다음

<ul id='myTag'> 
    [...] 
</ul> 

, 당신은 string manipulation를 사용하고 innerHTML property 당신이 원하는 것을 할 :

var html = document.getElementById('myTag').innerHTML; 
document.getElementById('myTag').innerHTML = html.replace('<li class="odd"><hr /></li>', '</ul><hr /><ul>'); 

물론 jQuery 나 프로토 타입과 같은 환상적인 자바 스크립트 라이브러리를 사용하여 동일한 작업을 수행 할 수도 있지만 이것이 "뿌리"방식입니다.)!

1

파우치. 음, (a) 그렇게하지 않아도됩니다. :) 또는 (b) :

  1. 어떻게 든 그 UL 태그 에 대한 참조를 가져옵니다. id 속성 을주고 다음을 사용하십시오 : document.getElementById("theULTag"). 그 첫 번째 UL 태그는 예를 들어 페이지의 경우 또는, document.getElementsByTagName("ul").item(0)

  2. 지금이 요소의 innerHTML을 속성에 변수와 동일한 설정 사용합니다. 예 : var textToChange = document.getElementById("theULTag").innerHTML

  3. learn about javascript string manipulation here 등의 작업을 수행하고 필요한 작업을 수행하십시오. document.getElementById("theULTag").innerHTML = newText

행운과 함께 다시 새로운 텍스트를 넣어

  • 을 (당신은 자신에 그것을 쉽게하기 위해 공간을 제거해야 할 수도 있습니다)!

  • +0

    내 대답이 먼저였습니다! 아, 나는 사랑이 없어. . . –