我需要从html元素中获取一个id,并替换单词的一部分。例如:
HTML
<input type="checkbox" id="facebookCheckbox"></div>
JavaScript
var x = document.getElementById("facebookCheckbox");
var name = x.id;
name.replace("Checkbox","");
这显然不起作用,因为替换词必须是独立的才能被替换。有不同的方法吗?
我正在寻找纯javascript无jQuery
谢谢!
name.replace("Checkbox","");
这显然不起作用,因为替换词必须是独立的才能被替换。
不,它确实有效,不需要"独立"——字符串的任何部分都可以匹配。只有你对行动的结果什么都没做:
console.log(name.replace("Checkbox",""));
// or
name = name.replace("Checkbox","");
// or assign back to x.id maybe?
替换时要创建字符串的副本,因此必须将.replace()
的结果分配回x.id
。
var x = document.getElementById("facebookCheckbox");
x.id = x.id.replace("Checkbox","");
这样做是行不通的。但是,您可以有一个标记类型的字符,通过它可以将名称分解为数组并实现逻辑。例如:
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]
我希望它能解决这个问题。