2010-03-01 100 views
1

我正在使用原型框架[需求由平台],我试图找到一个ID并替换ID中的一些文本,以便它消失。原型查找类并替换文本

的HTML看起来像:

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

问题是我不希望“|”出现在ID“顶”。所以我想这是“查找元素”| “在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 2010-03-01 03:51:00

+0

对不起 - 好的将更新 – Frederick 2010-03-01 03:54:06

回答

1

难道你不能只用CSS来隐藏管道?只需更改color以匹配background-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 2010-03-01 04:28:35

+0

是的,这就是为什么你重写'#top a'的颜色到你想要的任何东西,以便锚点可见而“|”是不是 – 2010-03-01 04:30:01

+0

嗨 - 是啊谢谢:)但问题是,有时也有在头上的纯文本,我想保持 – Frederick 2010-03-01 04:30:46

0

看起来你只是需要引号|。否则它看起来没问题。可能不需要条件,既然你在尝试捕捉,但也许这太松散goosy。

+0

嘿谢谢 - 我实际上试图保持的只是“删除”“|” – Frederick 2010-03-01 03:49:07