我正在使用原型框架[平台要求],我试图找到一个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) {
}
});
尝试上述但不起作用。有人可以帮忙吗?
由于
答案 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。