原型删除HTML?

时间:2010-08-09 17:19:26

标签: html prototypejs

我有以下HTML

<div id="top-right">
<span id="top-right-name">sometexthere</span> | <a href="#">link</a>
</div>

以下原型JS

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

var topmenu = document.getElementById('top-right');
var value = topmenu.innerHTML;
// define an array of replacements
var replacements = [
    { from: '|', to: ' ' },
    { from: '|', to: ' ' },
    { from: '|', to: ' ' },
    { 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;  

}
} 
catch(ex) {
}
});

我想在&lt; / span&gt;之后删除“|”自动加载这个JS - 但我似乎无法做到。

有人可以协助吗?

由于

1 个答案:

答案 0 :(得分:0)

这似乎是某个地方的语法错误,也许是在你加载Prototype时。以下代码片段对我来说很好:)

<script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>

<div id="top-right">
<span id="top-right-name">sometexthere</span> | <a href="#">link</a>
</div>

<script type="text/javascript">
Event.observe(window, 'load', function() {
try { 
if ($$('#top-right')!=null) {

var topmenu = document.getElementById('top-right');
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;  

}
} 
catch(ex) {
}
});
</script>

编辑以反映问题