2017-01-09 107 views
0

我需要製作一個書籤,該書籤會執行一個用於更改輸入值的JavaScript。在書籤中通過javascript更改輸入值

<input type="text" placeholder=" - " value=" - " class="test"/> 

我嘗試了幾種不同的腳本包括這一個:

javascript:(function(){var d=document,e=d.getElementsByClassName("test");e.value="new value";})(); 

但他們沒有工作。任何人都可以幫忙嗎?

+0

'E [0]。價值= 「新值」;'或'd.querySelector( '測試' ).value =「新值」;' – Igor

回答

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";
<input type="text" placeholder=" - " value=" - " class="test"/>

+0

太棒了!謝謝!這個完美的工作! – jl001

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>;

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)()