我需要制作一个执行改变输入值的javascript的书签。
<input type="text" placeholder=" - " value=" - " class="test"/>
我尝试了几个不同的脚本,包括这个:
javascript:(function(){var d=document,e=d.getElementsByClassName("test");e.value="new value";})();
但它们都不起作用。有人可以帮忙吗?
答案 0 :(得分:0)
Document.getElementsByClassName()
返回具有该类的所有子元素的类数组对象。因此,您需要选择数组的第一个索引。这可行:
e=d.getElementsByClassName("test")[0]; // select first element, now e is a DOM element
var d = document,
e = d.getElementsByClassName("test")[0];
e.value="new value";
&#13;
<input type="text" placeholder=" - " value=" - " class="test"/>
&#13;
答案 1 :(得分:0)
Document.getElementsByClassName()返回类似于数组的对象 所有具有所有给定类名的子元素
请看下面的工作片段
function myBookmark(){
var d=document,elements=d.getElementsByClassName("test");
for (var i=0;i<elements.length;i++){
elements[i].value="new value";
}
}
<input type="text" placeholder=" - " value=" - " class="test"/>
<input type="text" placeholder=" - " value=" - " class="test"/>
<input type="text" placeholder=" - " value=" - " class="test"/>
<a href="javascript:myBookmark()">Execute Bookmark</a>;
答案 2 :(得分:0)
稍微多才多艺。输入选择器和一些文字:
let p=prompt,
sel=p('enter selector'),
v=p('new value');
Array.from(document.querySelectorAll(sel)).forEach(e=>e.value=v)
通过书签创建者:
javascript:(function()%7Blet%20p%3Dprompt%2Csel%3Dp('enter%20selector')%2Cv%3Dp('new%20value')%3BArray.from(document.querySelectorAll(sel)).forEach(e%3D%3Ee.value%3Dv)%7D)()