Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
替换文本字符串javascript_Javascript - Fatal编程技术网

替换文本字符串javascript

替换文本字符串javascript,javascript,Javascript,我试图用另一个文本字符串替换一个文本字符串这里是我的代码加上js小提琴 HTML 演示 您需要再次检查,它返回节点列表,这样您就可以这样做,然后在每个元素之后循环并设置值 var str=document.getElementsByClassName("data" ,"raiting")[0].innerHTML; var n=str.replace(/\*/g,"star"); document.getElementsByClassName("data", "raiting")[0].inn

我试图用另一个文本字符串替换一个文本字符串这里是我的代码加上js小提琴

HTML 演示

您需要再次检查,它返回节点列表,这样您就可以这样做,然后在每个元素之后循环并设置值

var str=document.getElementsByClassName("data" ,"raiting")[0].innerHTML; 
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data", "raiting")[0].innerHTML=n;

这是一个示例,因为您只有一个实例需要再次检查,它返回节点列表,所以您可以这样做,然后在每个元素之后循环并设置值

var str=document.getElementsByClassName("data" ,"raiting")[0].innerHTML; 
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data", "raiting")[0].innerHTML=n;
这里是“因为只有一个实例”

方法,顾名思义,它返回元素的集合(),而不是单个元素——即使DOM中只有一个元素具有给定的类名

为了进行这样的替换,您需要逐一检查它们。例如:

var elements = document.getElementsByClassName("data rating");
for (var i = 0, l = elements.length; i < l; i++) {
  elements[i].innerHTML = elements[i].innerHTML.replace(/\*/g, 'star');
}
方法返回元素的集合(),而不是单个元素,正如其名称所示,即使DOM中只有一个元素具有给定的类名

为了进行这样的替换,您需要逐一检查它们。例如:

var elements = document.getElementsByClassName("data rating");
for (var i = 0, l = elements.length; i < l; i++) {
  elements[i].innerHTML = elements[i].innerHTML.replace(/\*/g, 'star');
}

如果元素只出现一次,则此操作将起作用:

var str=document.getElementsByClassName("data rating")[0].innerHTML; 
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data rating")[0].innerHTML=n;
如果存在多个
数据评级
元素,请使用:

    var elems =document.getElementsByClassName("data rating");
    for(var i = 0; i < elems.length; i++){
        elems[i].innerHTML = elems[i].innerHTML.replace(/\*/g,"star");
    }
var elems=document.getElementsByClassName(“数据评级”);
对于(变量i=0;i
这两种方法都纠正了原始代码中的一些缺陷

首先,传递给
getElementsByClassName
的参数中的rating拼写错误。其次,
getElementsByClassName()
使用由空格分隔的类名来选择具有多个类的元素,而不是多个参数。Get
elementsByClassName
返回必须迭代的元素数组


JS Fiddle:

如果该元素只出现一次,则此操作将有效:

var str=document.getElementsByClassName("data rating")[0].innerHTML; 
var n=str.replace(/\*/g,"star");
document.getElementsByClassName("data rating")[0].innerHTML=n;
如果存在多个
数据评级
元素,请使用:

    var elems =document.getElementsByClassName("data rating");
    for(var i = 0; i < elems.length; i++){
        elems[i].innerHTML = elems[i].innerHTML.replace(/\*/g,"star");
    }
var elems=document.getElementsByClassName(“数据评级”);
对于(变量i=0;i
这两种方法都纠正了原始代码中的一些缺陷

首先,传递给
getElementsByClassName
的参数中的rating拼写错误。其次,
getElementsByClassName()
使用由空格分隔的类名来选择具有多个类的元素,而不是多个参数。Get
elementsByClassName
返回必须迭代的元素数组


JS Fiddle:

getElements
表示您可能有多个元素,它们位于索引为0的数组中。在访问
innerHtml
getElements
之前选择一个表示您可能有多个元素,它们位于一个0索引数组中。在访问
innerHtml
之前选择一个
raiting
将破坏您的代码。只是原始帖子中的一个简单拼写错误。另外,传递给
getElementsByClassName
的多个类被指定为一个具有空格分隔的类名的参数。小提琴之所以起作用,是因为传递给
getElementsByClassName
的第二个参数
raiting
被忽略;由于如何指定
className
params,因此不会注意到它。再次感谢。)
raiting
将破坏您的代码。只是原始帖子中的一个简单拼写错误。另外,传递给
getElementsByClassName
的多个类被指定为一个具有空格分隔的类名的参数。小提琴之所以起作用,是因为传递给
getElementsByClassName
的第二个参数
raiting
被忽略;由于如何指定
className
params,因此不会注意到它。再次感谢。)