我无法让它工作......它只是用结果替换整个页面
var str="textiwanttoreplace";
var el = document.getElementById('welcome');
el.innerHTML = str;
var date = new Date();
var hours = date.getHours();
if (hours >= 8 && hours < 13) {
el.innerHTML = str.replace("textiwanttoreplace", "It's 8 and 13");
} else if (hours >= 13 && hours < 18) {
el.innerHTML = str.replace("textiwanttoreplace", "It's 13 and 18");
} else if (hours > 18 && hours <= 23) {
el.innerHTML = str.replace("textiwanttoreplace", "It's 18 and 23");
} else {
el.innerHTML = str.replace("textiwanttoreplace", "Hello");
}
编辑已更改,现在我没有看到任何结果,我错过了什么?
答案 0 :(得分:2)
It would ,如果您想要替换该文字并放在页面的某个部分,您应该执行以下操作:
var str="textiwanttoreplace";
var el = document.getElementById('element_id');
el.innerHTML = str;
所以而不是:
document.write();
使用:
var el = document.getElementById('element_id');
el.innerHTML = str.replace("textiwanttoreplace", "Good Morning");
只需将element_id
替换为您要在其中放置文本结果的元素的ID。
<强>更新强>
根据您的评论,我对其进行了测试并且确实有效,您可以在此处查看:
答案 1 :(得分:1)
document.write
is BAD practice.
文档(您要替换的文档)是否存在于文档的多个位置?执行此文本替换的正确方法是遍历DOM并替换包含所述文本的特定元素的文本内容。
答案 2 :(得分:0)
您需要缩小要替换的文本的父级。你可以对整个文档做这件事,但效率极低。
<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript></script>
<script type="text/javascript">
$(document).ready(function() {
$("div.replace-me").text($(this).text().replace('will replace', 'Good morning'));
});
</script>