2013-08-01 35 views
-1

我需要从html元素中获取一个id并替换单词的一部分。例如:在Word中替换单词 - Javascript

HTML

<input type="checkbox" id="facebookCheckbox"></div> 

的JavaScript

var x = document.getElementById("facebookCheckbox"); 
var name = x.id; 
name.replace("Checkbox",""); 

这显然是行不通的,因为替换词必须是独立于被替换它。有没有不同的方式来做到这一点?

我在寻找纯粹的JavaScript没有jQuery的

谢谢!

+0

字符串是不可变的。 –

回答

2
name.replace("Checkbox",""); 

这显然是行不通的,因为替换词必须是独立于被替换它。

不,它不工作,不需要“独立” - 字符串的任何部分都可以匹配。只有你没有做任何事result of the operation

console.log(name.replace("Checkbox","")); 
// or 
name = name.replace("Checkbox",""); 
// or assign back to x.id maybe? 
+0

哇,我不能相信我错过了那个。我试了一下,看起来像我的语法错了!谢谢。 –

0

您在更换时正在创建字符串的副本,因此您必须将.replace()的结果返回到x.id

var x = document.getElementById("facebookCheckbox"); 
x.id = x.id.replace("Checkbox",""); 
0

这不会以这种方式工作。但是,您可以使用标记类型的字符,通过它可以将名称分解为数组并实现逻辑。例如:

var x = document.getElementById("facebook_Checkbox"); 
//Note I have added underscore in the Id 
var name = x.id; 
var arr=name.split("_"); 

//Now you have Checkbox and Facebook as string objects (part of array) and you can use them 

name=arr[0] 

我希望它能解决目的。