簡體   English   中英

Bookmarklet沒有找到輸入框

[英]Bookmarklet not finding input box

我制作了一個書簽,應該突出顯示網頁上的密碼和用戶名框。 它找到了密碼框,似乎找到了它之前的文本框,但隨后它停止工作。 這是我的代碼:

<html>
<head>
</head>
<body>
<a href="javascript:var boxes= $(':text, :password');var selectionBox = $(':password'); selectionBox.css('background','red');for(var i = 0; i < boxes.length;i++){alert('loop');if(boxes[i] == selectionBox[0]){alert('Username box found');boxes[i-1].css('background','blue');alert('Success!');}}">Password box highlighter</a>
</body>

我得到一個警告框,說'循環'幾次,然后'找到用戶名框',但是它停止在下一行工作,沒有'成功!' 警報框。 有誰知道我做錯了什么? 謝謝。

編輯:這是擴展的代碼:

var boxes= $(':text, :password');
var selectionBox = $(':password');
selectionBox.css('background','red');
for(var i = 0; i < boxes.length;i++){
 alert('loop');
 if(boxes[i] == selectionBox[0]){
  alert('Username box found');
  boxes[i-1].css('background','blue');
  alert('Success!');
 }
}

您正在使用boxes[i-1] (與使用.get(i-1) )從jQuery集合中獲取DOM元素。 嘗試使用.eq()

boxes.eq(i-1).css('background','blue');

演示: http //jsfiddle.net/HsDCs/3/

如果你檢查了瀏覽器的控制台,你會發現它抱怨css不是該元素的屬性/方法。

參考文獻:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM