无法用JavaScript替换文本。请帮忙

时间:2011-05-11 18:40:44

标签: javascript

function $(id) { return document.getElementById(id); }

$('h').innerHTML.replace(/hello/g, "<span style='color: red;'>hello</span>");

它不起作用。发生了什么事?

5 个答案:

答案 0 :(得分:4)

replace返回一个字符串,不会自动将其分配给元素。

$('h').innerHTML = $('h').innerHTML.replace(/hello/g, "<span style='color: red;'>hello</span>");

答案 1 :(得分:3)

replace()不会就地发生;您需要将结果分配到所需的目的地:

var newText = $('h').innerHTML.replace(/hello/g, "<span style='color: red;'>hello</span>");
// Do something with newText

答案 2 :(得分:0)

首先,您不需要第一个函数,JQuery通过选择器自动处理。另外,设置innerHTML应该替换它的所有现有内容,因此在此之后你不需要显式地声明替换。

$('#h').html(/hello/g, "<span style='color: red;'>hello</span>");

另外,我认为你的报价错了。

答案 3 :(得分:0)

您没有将值分配回元素。

答案 4 :(得分:0)

尝试这样做:

function $(id) { return document.getElementById(id); }

$('h').innerHTML = $('h').innerHTML.replace("hello", "<span style='color: red;'>hello</span>");

小提琴:http://jsfiddle.net/maniator/LBAn6/