function $(id) { return document.getElementById(id); }
$('h').innerHTML.replace(/hello/g, "<span style='color: red;'>hello</span>");
它不起作用。发生了什么事?
答案 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>");