原型查找类并替换文本

时间:2010-03-01 03:43:03

标签: javascript replace prototypejs

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

HTML看起来像:

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

问题是我不希望“|”出现在ID“top”中。所以我猜它有点像“找到元素” “在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) {
}
});

尝试上述但不起作用。有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分: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;  

答案 1 :(得分:0)

看起来你只需要在|周围引用。否则它看起来没问题。可能不需要有条件,因为你正在尝试捕获,但也许这只是太松散的goosy。