Javascript indexOf和replace-我遗漏了什么吗

Javascript indexOf和replace-我遗漏了什么吗,javascript,function,indexof,Javascript,Function,Indexof,我有这个javascript函数; 我从一个按钮上给它发了一个数字,一切都很顺利,直到方法的索引出现问题为止 代码: 功能黄色椅子(NumId) { if(document.getElementById(“复选框”+NumId).checked) { document.getElementById(“ChairImg”+NumId).src=“Images/YellowChair.png”; TypeTheNum(NumId,真); } 其他的 { document.getElementByI

我有这个javascript函数; 我从一个按钮上给它发了一个数字,一切都很顺利,直到方法的索引出现问题为止

代码:


功能黄色椅子(NumId)
{
if(document.getElementById(“复选框”+NumId).checked)
{
document.getElementById(“ChairImg”+NumId).src=“Images/YellowChair.png”;
TypeTheNum(NumId,真);
}
其他的
{
document.getElementById(“ChairImg”+NumId).src=“Images/BlueChair.png”;
TypeTheNum(NumId,false);
}
}
函数类型thenum(NumId,Add)
{
var Label=document.getElementById(“SelectedSitsLabel”);
var Hidden=document.getElementById(“SelectedSitsHidden”);
如果(Label.innerHTML==“”)
{
Label.textContent+=NumId;
Hidden.textContent+=NumId;
}
其他的
{
如果(添加)
{
Label.textContent+=“,”+NumId;
}
其他的
{
//被困在这里。
if(Label.indexOf((NumId+“,”).toString())!=-1)
{
警报(“1”);
Label.replace((NumId+“,”).toString(),”);
}
其他的
{
警惕(“其他”);
Label.replace((“,”+NumId.toString(),”);
}
}
}
Hidden.textContent=Label.textContent;
}
我想可能是因为我用文本内容插入文本, 另外,我很确定
replace
有问题

非常感谢

功能:

var element = document.getElementById(id);
返回元素对象,或返回null,但不是字符串

也许您想将代码更改为使用
textContent
属性,该属性似乎就是您正在处理的属性,例如:

if (Label.textContent.indexOf((NumId + ",").toString()) != -1){
   alert("1");
   Label.textContent.replace((NumId + ",").toString(), "");
}
else{
   alert("ELSE");
   Label.textContent.replace(("," + NumId).toString(), "");
}
职能:

var element = document.getElementById(id);
返回元素对象,或返回null,但不是字符串

也许您想将代码更改为使用
textContent
属性,该属性似乎就是您正在处理的属性,例如:

if (Label.textContent.indexOf((NumId + ",").toString()) != -1){
   alert("1");
   Label.textContent.replace((NumId + ",").toString(), "");
}
else{
   alert("ELSE");
   Label.textContent.replace(("," + NumId).toString(), "");
}

Label是一个DOM元素,而不是字符串。因此,如果需要从元素内的文本中获取字符,则必须使用类似于
var content=Label.textContent;content.indexOf()
,然后在字符串中替换textContent后再次替换它


另外,作为旁注,请尝试查找innerHTML、textContent和innerText之间的差异,以避免将来出现问题。

标签是DOM元素,而不是字符串。因此,如果需要从元素内的文本中获取字符,则必须使用类似于
var content=Label.textContent;content.indexOf()
,然后在字符串中替换textContent后再次替换它


另外,作为旁注,请尝试查找innerHTML、textContent和innerText之间的差异,以避免将来出现问题。

HTMLElement
没有方法索引。
String
拥有该方法。如果
textContent
发生更改,请记住重置
textContent

功能黄色座椅(NumId)
{
if(document.getElementById(“复选框”+NumId).checked)
{
document.getElementById(“ChairImg”+NumId).src=“Images/YellowChair.png”;
TypeTheNum(NumId,真);
}
其他的
{
document.getElementById(“ChairImg”+NumId).src=“Images/BlueChair.png”;
TypeTheNum(NumId,false);
}
}
函数类型thenum(NumId,Add)
{
var Label=document.getElementById(“SelectedSitsLabel”);
var Hidden=document.getElementById(“SelectedSitsHidden”);
如果(Label.innerHTML==“”)
{
Label.textContent+=NumId;
Hidden.textContent+=NumId;
}
其他的
{
如果(添加)
{
Label.textContent+=“,”+NumId;
}
其他的
{
//被困在这里。
if(Label.textContent.indexOf((NumId+“,”).toString())!=-1)
{
警报(“1”);
Label.textContent=Label.textContent.replace((NumId+“,”).toString(),”);
}
其他的
{
警惕(“其他”);
Label.textContent=Label.textContent.replace((“,”+NumId.toString(),”);
}
}
}
Hidden.textContent=Label.textContent;
}
Remove`foo`
福、巴、巴

HTMLElement
没有方法索引。
String
拥有该方法。如果
textContent
更改,请记住重置
textContent

功能黄色座椅(NumId)
{
if(document.getElementById(“复选框”+NumId).checked)
{
document.getElementById(“ChairImg”+NumId).src=“Images/YellowChair.png”;
TypeTheNum(NumId,真);
}
其他的
{
document.getElementById(“ChairImg”+NumId).src=“Images/BlueChair.png”;
TypeTheNum(NumId,false);
}
}
函数类型thenum(NumId,Add)
{
var Label=document.getElementById(“SelectedSitsLabel”);
var Hidden=document.getElementById(“SelectedSitsHidden”);
如果(Label.innerHTML==“”)
{
Label.textContent+=NumId;
Hidden.textContent+=NumId;
}
其他的
{
如果(添加)
{
Label.textContent+=“,”+NumId;
}
其他的
{
//被困在这里。
if(Label.textContent.indexOf((NumId+“,”).toString())!=-1)
{
警报(“1”);
Label.textContent=Label.textContent.replace((NumId+“,”).toString(),”);
}