用于替换随机名称输入字段的输入值的书签
Bookmarklet to replace input values of random name input fields
我想创建一个小书签来替换网页上每个输入字段的所有 值。它们有很多,但可以根据它们的 名称.
分为两类
示例:
<input class="Class1" name="ABC_randomnumbers" value="randomnumber" type="text">
<input class="Class1" name="DEF_randomnumbers" value="randomnumber" type="text">
名称以 ABC 开头的输入字段将接收值 X,名称以 DEF 开头的输入字段将接收值 Y。
我试过了
javascript:document.body.innerHTML=document.body.innerHTML.replace(/input class="Class1" name="ABC_(\d+)" value="\d+"/g,'input class="Class1" name="ABC_" value="X"'); document.body.innerHTML=document.body.innerHTML.replace(/input class="Class1 name="DEF_(\d+)" value="\d+"/g,'input class="Class1" name="DEF_" value="Y"');
替换 HTML 中所有出现的这些字符串,但它会弄乱整个页面,例如它会删除标签的内容。
我阅读了一些关于 getElementsByName 的内容,但它们没有相同的名称,我无法使用 getElementsByName.[=12= 进行正则表达式工作]
我会避免以这种方式编辑基础 HTML。更好的选择是使用 Javascript 代码编辑页面。我在下面提供了一个示例:
var allInputs = document.getElementsByTagName("input");
for (var i = 0; i < allInputs.length; i++) {
if(allInputs[i].name.startsWith("ABC_")) {
//Do Logic here
}
//Other cases here
}
Shorthand 版本如下:
Array.from(document.getElementsByTagName("input")).forEach(function(input) {
if(input.name.startsWith("ABC_")) {
//Do Logic here
}
//Other cases here
});
我想创建一个小书签来替换网页上每个输入字段的所有 值。它们有很多,但可以根据它们的 名称.
分为两类示例:
<input class="Class1" name="ABC_randomnumbers" value="randomnumber" type="text">
<input class="Class1" name="DEF_randomnumbers" value="randomnumber" type="text">
名称以 ABC 开头的输入字段将接收值 X,名称以 DEF 开头的输入字段将接收值 Y。 我试过了
javascript:document.body.innerHTML=document.body.innerHTML.replace(/input class="Class1" name="ABC_(\d+)" value="\d+"/g,'input class="Class1" name="ABC_" value="X"'); document.body.innerHTML=document.body.innerHTML.replace(/input class="Class1 name="DEF_(\d+)" value="\d+"/g,'input class="Class1" name="DEF_" value="Y"');
替换 HTML 中所有出现的这些字符串,但它会弄乱整个页面,例如它会删除标签的内容。 我阅读了一些关于 getElementsByName 的内容,但它们没有相同的名称,我无法使用 getElementsByName.[=12= 进行正则表达式工作]
我会避免以这种方式编辑基础 HTML。更好的选择是使用 Javascript 代码编辑页面。我在下面提供了一个示例:
var allInputs = document.getElementsByTagName("input");
for (var i = 0; i < allInputs.length; i++) {
if(allInputs[i].name.startsWith("ABC_")) {
//Do Logic here
}
//Other cases here
}
Shorthand 版本如下:
Array.from(document.getElementsByTagName("input")).forEach(function(input) {
if(input.name.startsWith("ABC_")) {
//Do Logic here
}
//Other cases here
});