javascript - 小书签找不到输入框

标签 javascript bookmarklet

我制作了一个书签,它应该突出显示网页上的密码和用户名框。它找到了密码框,并且似乎找到了它前面的文本框,但随后它停止工作。这是我的代码:

<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 不是该元素的属性/方法。

引用文献:

关于javascript - 小书签找不到输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570907/

相关文章:

javascript - 使用 Passport 的 Express NodeJS 服务器中的 EnsureAdmin 问题

javascript - 使用 JavaScript 生成 PDF 文件

javascript - 使用 Javascript 获取文章的标题/作者/日期信息

php - ajax jquery 与 PHP 的书签问题

javascript - 在书签中转义原始的、未转义的字符串

Javascript 书市意外标识符?

javascript - 如何将相同的 Jquery 应用于随着时间的推移通过 CMS 添加的具有唯一 ID 的元素?

javascript - 警告 : The page index. html 运行了不安全的内容

javascript - 如何使用 Knex.js 向 MySQL 数据库中插入 1000 万行?

javascript - 如何使用小书签修改 iframe 中的 javascript 函数?