2010-03-01 2 views
1

프로토 타입 프레임 워크 [플랫폼 별 요구 사항]을 사용하고 있으며 ID를 찾고 해당 ID의 일부 텍스트를 바꿔서 사라지려고합니다. "|"ID가 "정상"에 표시 문제는 내가 원하지 않는 것입니다Prototype 클래스 찾기 및 텍스트 바꾸기

<div id="top"> 
<a href="/login">login</a> | <a href="/register">register</a> 
</div> 

: 같은

html로 보인다. 그래서 나는 일종의 "find element"라고 생각합니다. "ID 상단에서 제거하십시오"

Event.observe(window, 'load', function() { 
try { 
if ($$('#top')!=null) { 

var topmenu = document.getElementById('top'); 
var value = topmenu.value; 
// define an array of replacements 
var replacements = [ 
    { from: '|', to: ' ' } 
]; 
for (var i = 0, replacement; i < replacements.length, replacement = replacements[i]; i++) { 
    // replace 
    value = value.replace(replacement.from, replacement.to); 
} 
// replace the old text with the new 
topmenu.value = value;  
} } 
catch(ex) { 
} 
}); 

위의 내용을 시도했지만 작동하지 않습니다. 아무도 도와 줄 수 있습니까?

고마워요.

+0

단어 "class"의 사용이 이상합니다. "top"이라는 단어는 두 앵커 태그를 둘러싼 div의 * id *입니다. 그 요소들 중에는 "클래스"가 전혀 없습니다. – Pointy

+0

죄송합니다 - 괜찮습니다. – Frederick

답변

1

CSS를 사용하여 파이프를 숨길 수 없습니까? background-color과 일치하도록 color을 변경하여 보이지 않도록하십시오.

#top {color: #fff } /* substitute with the right background color if different */ 
#top a {color: #000 } /* or whatever it has to be */ 

편집 : 교체해야 오른쪽 속성은 innerHTML하지 value입니다.

var value = topmenu.innerHTML; 
// define an array of replacements 
var replacements = [ 
    { from: '|', to: ' ' } 
]; 
for (var i = 0, replacement; i < replacements.length, replacement = replacements[i]; i++) { 
    // replace 
    value = value.replace(replacement.from, replacement.to); 
} 
// replace the old text with the new 
topmenu.innerHTML = value; 
+0

안녕하세요 - 무슨 뜻인지 모르시겠습니까? 난 단지 "|"전체를 숨기고 싶습니다. . ? – Frederick

+0

네, 그렇기 때문에'#top a'의 색상을 원하는대로 바꾸어 앵커를 볼 수있게하고 "|" –

+0

안녕하세요 - 네 고마워 :)하지만 문제는 가끔은 내가 갖고 싶어 헤더에 일반 텍스트입니다 – Frederick

관련 문제